面向对象 C#
Object Orientating C#
我有一个关于 C# 中的面向对象的一般性问题。
假设我有多个 XAML 个页面都有这个方法:
private void SubmitButton_Click(object sender, RoutedEventArgs e)
{
// Do Something
}
现在我有一个 class 来保存一个方法,class 被称为 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 时,我将如何执行该方法,以便 SubmitButton_Click 方法中的 NameTextBox 等于 StopUpperAndSpace 方法中的 txtBox?
我知道这个问题很难理解,但我发现它真的很难解释。如果您需要澄清,请发表评论!谢谢:)
我是不是误会你了,为什么不能传给你的方法呢?我也会让你的方法成为静态的,但如果你想创建你的方法的一个实例 class 你在技术上是可以的。
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();
}
我有一个关于 C# 中的面向对象的一般性问题。
假设我有多个 XAML 个页面都有这个方法:
private void SubmitButton_Click(object sender, RoutedEventArgs e)
{
// Do Something
}
现在我有一个 class 来保存一个方法,class 被称为 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 时,我将如何执行该方法,以便 SubmitButton_Click 方法中的 NameTextBox 等于 StopUpperAndSpace 方法中的 txtBox?
我知道这个问题很难理解,但我发现它真的很难解释。如果您需要澄清,请发表评论!谢谢:)
我是不是误会你了,为什么不能传给你的方法呢?我也会让你的方法成为静态的,但如果你想创建你的方法的一个实例 class 你在技术上是可以的。
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();
}