如何按类声明的顺序获取字段和属性?

时间:2019-01-31 13:24:41

标签: c# reflection

我需要按类中声明的顺序获取字段和属性。

这是我现有的代码:

MemberInfo[] l_arrMemberInfoTemp = m_target.GetType().GetMembers(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);

从MSDN Here说, GetMember方法不会以特定顺序(例如字母顺序或声明顺序)返回成员。您的代码不得依赖于成员返回的顺序,因为该顺序会有所不同。

上面的代码首先返回所有属性,然后返回所有字段。

MyClass.cs

int myInt;
int myIntProp{get;set;}
float myFloat;
int myFloatProp{get;set;}

当前输出:

myIntProp         <----- Property comes first.
myFloatProp       <----- Property comes first.
myInt
myFloat

预期输出:

myInt
myIntProp
myFloat
myFloatProp

0 个答案:

没有答案