2012-02-02 44 views
0

我有一個類似於我希望解析的20個文本框的接口(需要逗號分隔的列表)。如何將實例名稱傳遞給函數,然後調用那些方法

爲了避免編寫20個函數,我想寫一個函數返回一個字符串[],它將接受文本框的變量名稱作爲參數。

這可能沒有太多的麻煩嗎?

+3

這是沒有用的。爲什麼不直接傳入TextBox實例? – 2012-02-02 10:20:31

回答

2

變量名不是要走的路,你可以在運行時爲文本框指定一個已知的標識符。我不知道這是什麼UI工具包(WinForms?ASP.NET?WPF?Silverlight?),但您通常可以訪問控件的Id或標籤。

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.  
} 
相關問題