草庐IT

MemberInfo

全部标签

c# - memberInfo.GetValue() C#

如何获取实例成员的值?对于propertyInfos,有一个propertyInfo.GetValue(instance,index),但在memberInfo中不存在这样的东西。我在网上搜索过,但似乎只停留在获取成员的姓名和类型上。 最佳答案 您必须向下转换为FieldInfo或PropertyInfo:switch(memberInfo){caseFieldInfofieldInfo:returnfieldInfo.GetValue(obj);casePropertyInfopropertyInfo:returnproperty

c# - 通过反射获取 MemberInfo 的类型

我正在使用反射加载具有项目类结构的TreeView。类中的每个成员都分配有自定义属性。我在使用MemberInfo.GetCustomAttributes()获取类的属性时没有问题,但是我需要一种方法来确定类成员是否是自定义类然后需要解析自身返回自定义属性。到目前为止,我的代码是:MemberInfo[]membersInfo=typeof(Project).GetProperties();foreach(MemberInfomemberInfoinmembersInfo){foreach(objectattributeinmemberInfo.GetCustomAttributes(

c# - 通过反射获取 MemberInfo 的类型

我正在使用反射加载具有项目类结构的TreeView。类中的每个成员都分配有自定义属性。我在使用MemberInfo.GetCustomAttributes()获取类的属性时没有问题,但是我需要一种方法来确定类成员是否是自定义类然后需要解析自身返回自定义属性。到目前为止,我的代码是:MemberInfo[]membersInfo=typeof(Project).GetProperties();foreach(MemberInfomemberInfoinmembersInfo){foreach(objectattributeinmemberInfo.GetCustomAttributes(

c# - 如何获取 MemberInfo 的值?

如何获取MemberInfo对象的值?.Name返回变量的名称,但我需要值。我想你可以用FieldInfo做到这一点,但我没有代码片段,如果你知道如何做到这一点,你能提供一个代码片段吗??谢谢! 最佳答案 虽然我大体上同意Marc关于不反射(reflect)字段的观点,但有时也需要这样做。如果你想反射(reflect)一个成员并且你不关心它是一个字段还是一个属性,你可以使用这个扩展方法来获取值(如果你想要类型而不是值,请参见nawful对thisquestion的回答):publicstaticobjectGetValue(this

c# - 如何获取 MemberInfo 的值?

如何获取MemberInfo对象的值?.Name返回变量的名称,但我需要值。我想你可以用FieldInfo做到这一点,但我没有代码片段,如果你知道如何做到这一点,你能提供一个代码片段吗??谢谢! 最佳答案 虽然我大体上同意Marc关于不反射(reflect)字段的观点,但有时也需要这样做。如果你想反射(reflect)一个成员并且你不关心它是一个字段还是一个属性,你可以使用这个扩展方法来获取值(如果你想要类型而不是值,请参见nawful对thisquestion的回答):publicstaticobjectGetValue(this

c# - Lambda 表达式未返回预期的 MemberInfo

我遇到了一个我没想到的问题。一个例子可能比一段话更能说明我的问题:更新:跳到最后一个代码块以获得更Eloquent代码示例。publicclassA{publicstringB{get;set;}}publicclassC:A{}下面是一个方法的一些代码:vara=typeof(C).GetMember("B")[0];varb=typeof(A).GetMember("B")[0];Expression>c=x=>x.B;vard=(c.BodyasMemberExpression).Member;下面是一些比较的结果:a==b//falsea==d//falseb==d//true