2
我需要獲得類別爲T
- GetProperty<Foo>()
的屬性列表。我嘗試了下面的代碼,但它失敗了。使用C#反射獲取T類屬性的列表
樣品等級:
public class Foo {
public int PropA { get; set; }
public string PropB { get; set; }
}
我嘗試下面的代碼:
public List<string> GetProperty<T>() where T : class {
List<string> propList = new List<string>();
// get all public static properties of MyClass type
PropertyInfo[] propertyInfos;
propertyInfos = typeof(T).GetProperties(BindingFlags.Public |
BindingFlags.Static);
// sort properties by name
Array.Sort(propertyInfos,
delegate (PropertyInfo propertyInfo1,PropertyInfo propertyInfo2) { return propertyInfo1.Name.CompareTo(propertyInfo2.Name); });
// write property names
foreach (PropertyInfo propertyInfo in propertyInfos) {
propList.Add(propertyInfo.Name);
}
return propList;
}
我需要的屬性名稱的列表
預期輸出:GetProperty<Foo>()
new List<string>() {
"PropA",
"PropB"
}
我嘗試了很多stackoverlow參考,但我無法獲得預期的輸出。
參考:
請幫助我。