2
假設我有這個類:獲取對象屬性爲字符串在C#中使用Lambda表達式
class MyClass {
public int MyProperty { get; set; }
}
而且我想要得到的myProperty的作爲字符串(如「myProperty的」),但通過lambda表達式或其他任何方式是「重構友好」的。
是否有語法是這樣的:
void BindToDataSource(IEnumerable<MyClass> list) {
myComboBox.DataSource = list;
myComboBox.DisplayMember = typeof(MyClass).GetPropertyToString(c => c.MyProperty);
}
我不想要這樣的代碼:
myComboBox.DisplayMember = "MyProperty"
,因爲它不是「重構友好」。
所以你想使用反射來避免使用反射?沒有編譯時反射:http://blogs.msdn.com/b/ericlippert/archive/2009/05/21/in-foof-we-trust-a-dialogue.aspx –
我不介意如果它使用反射,我只想讓我的代碼「重構友好」。 – rajeemcariazo
[C#中的編譯時反射]的可能的重複(http://stackoverflow.com/questions/9335126/compile-time-reflection-in-c-sharp) –