问题标签 [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.
c# - PropertyInfo 的 .Net 反射属性信息
我有一个像下面这样的类结构,
现在我需要在 A 类上使用反射,将以下输入保存到 A 类对象(例如:input => data=10;x=15;data=20)
问题:当我这样做时,PropertyInfo[] p = typeof(ClassA).GetProperties()
我在 p 中得到 [objB, data]。
但我需要深入了解上述任何此类结构的基本数据类型,即我需要类似的东西,
[data (from Class A), x (from Class B), data (from Class B)] 这是我的第一个要求
第二个要求:一旦达到上述要求,我如何区分数据(来自 A 类)和数据(来自 B 类)。
.net - BindingFlags 枚举中的 GetField、SetField、GetProperty 和 SetProperty 是什么?
我不知道这些是干什么用的。文档不是很清楚:
GetField指定应返回指定字段的值。
SetField指定应设置指定字段的值。
GetProperty指定应返回指定属性的值。
SetProperty指定应设置指定属性的值。对于 COM 属性,指定此绑定标志等效于指定 PutDispProperty 和 PutRefDispProperty。
如果我在BindingFlags
枚举中指定它们,它们应该返回什么?我认为它与类型的属性和字段有关,但这个简单的测试说不:
对于和SetField
,返回相同的集合。GetProperty
SetProperty
.net - GetGetMethod 方法和 GetMethod 属性之间的区别?
.Net 4.5 具有PropertyInfo.GetMethod作为PropertyInfo
类的属性。PropertyInfo.GetGetMethod
它与方法有什么不同吗?文档页面几乎是空白的。我能找到的唯一区别是GetGetMethod
默认情况下仅返回公共 getter,而GetMethod
甚至返回非公共 getter(通过 实现相同GetGetMethod(true)
)。
同样,.NET 4.5 中也有GetSetMethod
方法和SetMethod
属性。为什么在 .NET 中引入它?
c# - 从对象获取属性信息而不将属性名称作为字符串提供
由于某些原因,我需要创建一个PropertyInfo
与某些类的属性相对应的实例字典(我们称之为EntityClass
)。
好的,我可以使用typeof(EntityClass).GetProperties()
.
但我还需要确定一些特定属性的值(在编译时已知)。通常我可以执行以下操作之一:
为了填满我的字典,我需要使用PropertyInfo
实例而不是仅仅正常设置值。但我觉得通过字符串名称获取属性并不方便。如果某些 EntityClass 发生变化,它会带来很多异常而不是编译错误。所以,我要问的是:
如何在不传递字符串名称的情况下获取已知属性的 PropertyInfo?如果有像代表这样的东西,我会很高兴:
理想情况下:
.net - TargetException - PropertyInfo.SetValue 失败
我在这里有一个“不错”的问题,我花了很多时间没有任何结果。我浏览了谷歌,所以......没有任何成功。
我在桌面(Windows7-64Bit)上使用.Net 4.0,并且大量使用反射。
我当前的问题是我有一个自己的业务对象的实例。我正在使用 PropertyInfo 对象来访问实例的所有属性。一般来说,它运行良好,但有时我的属性包含一个通用列表(或一种(=> ObservableCollection<> 的重新实现)。当我尝试创建该属性类型的新实例并将属性的实例设置为声明实例时,它会因 TargetException 而失败。
我知道两者(属性和新实例)都有相同的时间。
我尝试了几十次,在创建新实例和将其设置为属性之间有或多或少的步骤......但没有任何成功。
提前致谢。
卡斯滕
image-processing - Google 静态地图图像 PropertyItem 20738 中有什么?
当从 Google 静态地图提供地图图像时,该图像包含许多 propertyItems,其中一个 (20738) 很长,如果幸运的话,可能包含我需要的关于返回的边缘坐标的信息地图。
数据以某种方式清楚地编码(它不是文本!)。有谁知道这些数据包含什么以及如何解码它?
谢谢。
c# - 对象与 SetValue 和枚举的目标类型不匹配
我尝试从 CodeProject改编本教程以尝试dynamic
将在本例中为 int 的 a 更改为简单的Enum
.
如果我们这样定义Enum
:
MyObject
以及设置包含一个类的值的方法的内容MyEnum
:
关于为什么会发生这种情况的任何想法?
asp.net-mvc - C# 反射 PropertyInfo MVC 中的嵌套类
当比一个级别更深时,是否有一种通用的方法来仅基于字符串值检索 PropertyInfo。
我认为这可能很简单,但我的搜索结果仅与我的搜索条件一样好,而且我认为我在阐明正确的关键字以获得我所追求的搜索结果时遇到了问题。
我希望能够执行以下操作(如果密钥用于直接属性/一个级别,则效果很好 - 即 key = 'firstName'):
但是,当 Key 等于更复杂的东西(例如嵌套类、对象、列表等)时,我有没有办法PropertyInfo
仅基于字符串返回...:
- 键 = "somelist[0].myproperty"
- key = "Items[0].someotherlist[1].someproperty"(其中 Items 定义为
List<Item> Items {get; set;}, someotherlist is defined similarly
)
该方法是否足够通用,基本上可以根据需要(定义)向下钻取尽可能多的级别?
c# - 如何在 c# 的外部 dll 文件中读取类的属性?
我有以下代码块。如何从特定的 DLL 文件中获取所有属性名称?目前,我可以获取类名、命名空间,但我不知道如何获取类中的属性。谢谢,