我已经尝试了两天找到一些有用的东西,而且我找到的所有例子都没有。
我需要的是能够从实例化的类中获取公共属性列表。
For Instance:
MyClass具有以下定义:
public class MyClassSample : MyDC
{
public string ReportNumber = "";
public string ReportDate = "";
public MyClassSample()
{
}
}
我需要的是从上面的类中简单地返回一个包含[“ReportNumber”] [“ReportDate”]的数组的方法。
这是我最近的尝试,只是将属性名称添加到字符串中:
string cMMT = "";
Type t = atype.GetType();
PropertyInfo[] props = t.GetProperties();
List<string> propNames = new List<string>();
foreach (PropertyInfo prp in props)
{
cMMT = cMMT + prp.Name + "\n";
}
我认为我遗漏了一些基本而简单的东西,但由于某些原因我现在看不到它。任何帮助将不胜感激。
答案 0 :(得分:6)
那些不是属性。那些是领域。
所以你可以这样做:
FieldInfo[] fields = t.GetFields();
或者您可以将其更改为属性:
public string ReportNumber { get; set; }
public string ReportDate { get; set; }
答案 1 :(得分:1)
更改此
public string ReportNumber = "";
public string ReportDate = "";
到这个
public string ReportNumber { get; set; }
public string ReportDate { get; set; }
然后,
List<string> propNames = new List<string>();
foreach (var info in atype.GetType().GetProperties())
{
propNames.Add(info.Name);
}
结果将是一个列表(propName),其中包含两个具有您的属性名称的位置