我需要按类中声明的顺序获取字段和属性。
这是我现有的代码:
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