我有一个类似于以下代码的类:
public class MyClass : MyBaseClass
{
public string Field1 { get; set; }
public string Field2 { get; set; }
public string Field3 { get; set; }
public string Field4 { get; set; }
}
public class MyBaseClass
{
public string BaseField1 { get; set; }
public string BaseField2 { get; set; }
public string BaseField3 { get; set; }
public string BaseField4 { get; set; }
}
然后我创建了一个方法来从类中提取名称。
private void MyMethod<T>(List<T> listData) where T : class
{
String[] fieldNames = Array.ConvertAll<PropertyInfo, String>(typeof(T).GetProperties(), delegate(PropertyInfo fo) { return fo.Name; });
// Do something with the fieldNames array....
}
因此,当我获取我的数组时,它将按以下顺序:
Field1
Field2
Field3
Field4
BaseField1
BaseField2
BaseField3
BaseField4
我想知道是否可能改变顺序,让基类字段排在派生类字段之前?
List
并对其进行改变,不如让它只返回它正在计算的项目。如果调用者想将它们添加到列表中或进行其他任何操作,他们可以自行处理。 - Servy