Ориентация объекта C#
У меня есть общий вопрос по объектному ориентированию в C#.
Предположим, у меня есть несколько страниц XAML, у которых есть этот метод:
private void SubmitButton_Click(object sender, RoutedEventArgs e)
{
// Do Something
}
Теперь у меня есть класс для хранения метода, который называется Methods.cs и содержит это:
public void StopUpperAndSpace(TextBox txtBox)
{
txtBox.Text = txtBox.Text.Trim();
// Set it to lowercase
txtBox.Text = txtBox.Text.ToLower();
}
Когда пользователь нажимает SubmitButton на любой из страниц, я хочу, чтобы он выполнял этот метод, сохраненный в Methods.cs. Если у меня есть текстовое поле на одной странице XAML с именем NameTextBox, когда пользователь нажимает SubmitButton, как мне выполнить метод, чтобы NameTextBox в методе SubmitButton_Click равнялся txtBox в методе StopUpperAndSpace?
Я понимаю, что вопрос трудно понять, но мне трудно объяснить. Если вам нужны разъяснения, просто прокомментируйте! Спасибо:)
1 ответ
Я неправильно вас понял, почему вы не смогли бы передать это своему методу? Я бы также сделал ваш метод статическим, но если бы вы хотели создать экземпляр вашего класса Methods, вы бы технически могли это сделать.
SomePage.xaml
<TextBox x:Name="SomeTextBox" />
<TextBox x:Name="SomeOtherTextBox />
SomePage.xaml.cs
private void SubmitButton_Click(object sender, RoutedEventArgs e)
{
// Your initial method call could potentially look like this.
Methods.StopUpperAndSpace(this.SomeTextBox);
// Alternatively you could do something like this.
this.SomeOtherTextBox.Text = Methods.ToLowerAndTrim(this.SomeOtherTextBox.Text);
}
Methods.cs
public static void StopUpperAndSpace(TextBox txtBox)
{
txtBox.Text = txtBox.Text.Trim();
// Set it to lowercase
txtBox.Text = txtBox.Text.ToLower();
}
public static string ToLowerAndTrim(string text)
{
return text.Trim().ToLower();
}