问题标签 [propertyinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
23029 浏览

vb.net - PropertyInfo.GetValue() "对象与目标类型不匹配。"

我第一次深入研究反射,我真的被困住了。我用谷歌搜索了我能想到的一切。我现在想去的地方有 90%。

我正在尝试通过反射返回自定义类中的属性值。

这是我的班级声明:

我编写的通过反射查看类的类如下所示:

我在 property_value = propInfo.GetValue(Me, Nothing) 行上放了一个断点,看看结果是什么。

这是我如何调用我的代码:

通过反射我可以看到PropertyName和Type,我需要的只是Property的值!现在,当我到达断点时,我得到一个 TargetException 并且错误消息显示“对象与目标类型不匹配”。现在是凌晨 1 点,我很伤心,现在有任何帮助将不胜感激。我已经搜索了 MSDN 和 Google 到死,然后最后一次寻找乐趣;)

0 投票
5 回答
4988 浏览

.net - 从getter/setter的MethodInfo中找到宿主PropertyInfo

我在运行时使用反射进行了一些类型分析。如果我有一个 MethodInfo 实例,我如何确定这是一个“真实”方法还是一个属性的 getter/setter 方法?如果它是一个属性,我怎样才能找到它的托管 PropertyInfo 回来?

0 投票
3 回答
1389 浏览

c# - c#你如何从PropertyInfo获取base.Name

我正在单步执行一些代码并查看 PropertyInfo 对象并想知道如何获取它的 base.Name

替代文字 http://www.yart.com.au/stackoverflow/propertyinfo.png

我可以在调试器中看到这一点,但我不确定如何执行此操作,因为 PropertyInfo 上没有“基础”属性

0 投票
1 回答
8573 浏览

c# - 获取类型的默认 PropertyDescriptors

我正在PropertyGrid通过实现来自定义对象类型在 a 中的显示方式ICustomTypeDescriptor。我允许用户创建自己的自定义属性,这些属性存储在单个键和值字典中。我能够PropertyDescriptors为这些值创建所有值并在属性网格中查看它们。但是,我还想显示所有默认属性,如果PropertyGrid通过反射而不是我的覆盖ICustomTypeDescriptor.GetProperties方法填充这些默认属性。

现在我知道如何获取对象的类型,然后GetProperties()是 ,但这会返回一个PropertyInfonot的数组ProperyDescriptor。那么如何将PropertyInfo类型的对象转换为PropertyDescriptor对象以包含到我的自定义集合中PropertyDescriptors

0 投票
2 回答
6837 浏览

c# - 反射 - 获取嵌套对象的属性

指:反射-设置返回的obj类型? 我有一个对象 Call Jobcard,它有几个属性,其中一个是另一个名为 Customer 的对象,它有自己的属性,其中一个是另一个名为 Adress 的嵌套对象。

这两个函数也将处理其他对象类型。

问题是 PopulateChildObject 函数不起作用,因为 PropertyInfo 列表不是传递的 childObj 的列表。如果我查看手表中传递给 PopulateChildObject 的 dataObj,它有 0 个属性。此外,传递给 PopChildObj() 的 dataObj 的类型为 System.Reflection.RuntimePropertyInfo' 而不是 Customer 类型。我错过了什么?

0 投票
1 回答
358 浏览

c# - PropertyInfo 子属性

我有一个 linq 上下文,我正在查看所有数据表,我正在尝试获取所有表中的字段列表

这并没有为我提供每个表中的列。

有什么想法吗?

简单地说,当我所拥有的只是我要为其获取属性的对象的 propertyInfo 时,我正在尝试获取所有属性。

-飓风

0 投票
2 回答
2843 浏览

c# - 反映属性以获取属性。当它们在别处定义时怎么办?

我有一个这样的类酒吧:

我需要找到仅反映在属性 Bar.FooProp 上的属性 [Range(0,255)]。我的意思是,当我当前正在解析时,道具是在类实例(.. new Foo())中而不是在类中装饰的。事实上 Bar.FooProp 没有属性

编辑

我在接口的定义上移动了属性,所以我要做的是解析继承的接口来找到它们。我可以这样做,因为 Bar 类必须实现 IFoo。在这种特殊情况下,我很幸运,但是当我没有接口时问题仍然存在......我会注意下次

0 投票
4 回答
8003 浏览

c# - 有没有办法通过反射或其他方式获取实体 id-field 的名称?

我正在尝试获取实体的 ID 字段名称(属性名称),这可能吗?

用户用户=新用户();//用户是一个实体

字符串 idField = ??????? //user.UserId

0 投票
12 回答
309737 浏览

c# - 使用字符串值通过反射设置属性

我想通过反射设置一个对象的属性,其值为 type string。因此,例如,假设我有一个Ship类,其属性为Latitude,即double.

这是我想做的:

照原样,这会引发ArgumentException

“System.String”类型的对象无法转换为“System.Double”类型。

如何将值转换为正确的类型,基于propertyInfo

0 投票
4 回答
16474 浏览

c# - 如何判断 PropertyInfo 是否属于特定枚举类型?

我有以下代码:

当我到达 type 的字段时Enum,或者在这种情况下NameSpace.MyEnum,我想做一些特别的事情。我不能仅仅SetValue因为来自数据库的值是“m”,而值Enum是“Mr”。所以我需要调用另一种方法。我知道!旧系统对吗?

那么如何确定一个PropertyInfo项目何时属于特定的枚举类型呢?

因此,在上面的代码中,我想首先检查PropertyInfo类型是否为特定枚举,如果是,则调用我的方法,如果不是,则简单地允许SetValue运行。