我有一個數據類(簡化的)使用變量來訪問類屬性
public class Transport
{
public int TransId;
public string TType;
public string Color;
public string Size;
}
Transport t1 = new Transport();
populate(t1)
隨着其我一個視窗形式填充文本框控件。我的文本框具有相同的名稱(TransId, TType, Color, Size
)。還有更多,所以我想要做的就是使用文本框的名稱來訪問數據。類似......
foreach (TextBox tb in this.Controls.OfType<TextBox>())
{
tb.Text = t1.(tb.Name);
}
這可能嗎?這是一個好主意,還是應該堅持TransId.Text = t1.TransId
等?
_「它甚至是一個好主意」 _號反思會使這成爲可能,但你會失去編譯時的安全性。你不應該在可能改變的控制名稱上依賴你的業務邏輯。如果你真的需要你可以使用'Dictinary'來代替。 –
@TimSchmelter你爲什麼不寫一個答案,並告訴他爲什麼它不是一個好主意呢? – TylerD87
@ TylerD87對這個網站太具有建設性。他們更喜歡從我看到的東西中傲慢和諷刺。 – FlipTop