如何将实例名称传递给函数,然后在那些函数上调用方法

时间:2012-02-02 10:18:04

标签: c#

我有一个界面,有20个文本框,我希望解析(预期的逗号分隔列表)。

为了避免编写20个函数,我想写一个函数,它返回一个字符串[],它接受文本框的变量名作为参数。

这可能没有太多麻烦吗?

1 个答案:

答案 0 :(得分:2)

变量名不是方法,您可以将运行时已知的标识符分配给文本框。我不知道这是什么UI工具包(WinForms?ASP.NET?WPF?Silverlight?)但你通常可以访问控件的Id或Tag。

TextBox ageTextBox = new TextBox();
nameTextBox.Tag = "Age";

TextBox shoeSizeTextBox = new TextBox();
shoeSizeTextBox.Tag = "ShoeSize";

之后

foreach(var ctrl in Controls.OfType<TextBox>.Where(tb => tb.Tag == someTag))
{
    Debug.WriteLine(tb.Tag+" = "+tb.Text); // or output to file etc.      
}