gpt4 book ai didi

c# - 如何获取 MemberInfo 的值?

转载 作者:IT王子 更新时间:2023-10-29 04:09:08 25 4
gpt4 key购买 nike

如何获取 MemberInfo 对象的值? .Name 返回变量的名称,但我需要值。

我想你可以用 FieldInfo 做到这一点,但我没有代码片段,如果你知道如何做到这一点,你能提供一个代码片段吗??

谢谢!

最佳答案

虽然我大体上同意 Marc 关于不反射(reflect)字段的观点,但有时也需要这样做。如果你想反射(reflect)一个成员并且你不关心它是一个字段还是一个属性,你可以使用这个扩展方法来获取值(如果你想要类型而不是值,请参见nawful对this question的回答):

    public static object GetValue(this MemberInfo memberInfo, object forObject)
{
switch (memberInfo.MemberType)
{
case MemberTypes.Field:
return ((FieldInfo)memberInfo).GetValue(forObject);
case MemberTypes.Property:
return ((PropertyInfo)memberInfo).GetValue(forObject);
default:
throw new NotImplementedException();
}
}

关于c# - 如何获取 MemberInfo 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/238555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com