问题标签 [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# - 在派生类型中找不到属性集方法
正如.NET 反射设置私有属性中所厌恶的那样,可以使用私有设置器设置属性。但是当在基类中定义属性时,会抛出 System.ArgumentException:“找不到属性集方法”。
一个例子可以是:
有谁知道解决这种情况的方法?
编辑:给出的示例是对问题的简单说明。在现实世界的场景中,我不知道属性是定义在基类中,还是定义在基类的基类中。
c# - 当对象实现隐式运算符时,可以测试对 PropertyInfo.PropertyType 的强制转换吗?
我有一个特定类型 ( SpecialImage
) 的对象,它实现了对另一种类型 ( ) 的隐式运算符Image
。
SpecialImage
不衍生自Image
。但是,可以通过操作员进行以下操作:
我有一个带有属性的对象,我通过反射和一个Image
对象循环遍历:
info.PropertyType
在尝试设置值之前是否可以检查对象是否可转换?
c# - 将属性传递给 C# 中的方法
我需要传递某些类型的属性选择(每次一种类型),假设这是我的类型:
所以我需要一种方法将这种类型的属性列表传递给其他类型(目标类型),并使用属性名称和属性,我不需要值,类似于以下伪代码:
有什么方法可以传递Product.Id
并使用它的名称和属性吗?我不确定,但也许PropertyInfo
可以提供帮助,我认为可以传递对象列表,但在这种情况下我不能使用属性和名称,你有什么建议来处理这个问题?或类似的东西?如果我完全错了,我该如何实施呢?
c# - 从列表中获取类型 T 的属性名称和不同值有反射
我有一个具有一组属性的类产品:
从一个组件中,我获得了一个List<Product>
,并且出于多种原因,我需要使用反射来获取属性,Product
然后获取每个属性的Distinct
值及其值 。Count()
是否有可能通过反思来实现我的目标?如果没有,还有其他方法吗?谢谢!
更新
问题是我事先不知道我必须使用哪些属性以及类中有哪些属性Product
。这就是为什么我认为反思是最好的选择。
我可以通过使用一个Switch - Case
结构来实现相同的结果,其中开关比较从类中提取的Property Name并且每个Case
对应于一个特定的Property Name。但是这个解决方案的灵活性不足以解决我的问题
c# - 如何创建可以处理或强制转换未知类型的 lambda 表达式?
如何为可以处理未知类型的函数创建 lambda 表达式?抱歉,我知道这个问题很模糊,我很难形成它。我只能希望你有一点时间通读我的故事,这应该会让事情变得更清楚。
我的目标是使用预定义的数据协定将字符串值数组反序列化为对象。数据合约的成员有一个职位编号。反序列化器的简单工作是将值映射到数据成员(在进行适当的类型转换之后),并构建对象。
问题是反序列化性能很糟糕!运行 VS Profiler 后,我发现用于填充对象成员的 PropertyInfo.SetValue() 占用的时间最多。我的程序必须在任何给定时间反序列化数千个对象。一个数据合约通常有 100 个成员。因此,我们正在为每 1000 个对象调用 100,000 次 SetValue() 调用,并且它正在拖动。下面是调用 SetValue 的示例:
然后我从 Unknown Recipes 找到了这个页面,它对这个性能问题有一个很有前途的解决方案。看起来我需要使用已编译的 lambda 表达式来替换 SetValue,但我遇到了转换问题。按照上面链接中的示例,我现在可以替换 SetValue()。替换的是动作委托,它们是编译的 lambda 表达式。
首先,我扩展了 PropertyInfo 类。
然后我构建了一个Dictionary<PropertyInfo, Action<object, object>
对象,它将每个 propertyInfo 对象与其对应的 Action 委托联系起来。这样我可以“缓存”编译的 lambda 并在一批反序列化中重用它。这就是我现在所说的:
但是,我收到以下异常:
这里 DataContract1 是我要构建的对象的类型。它仅在运行时已知,这与 Unknown Recipes 示例中的场景不同,其中类型在编译时已知。你将如何使这个 lambda 表达式工作?
非常感谢您的宝贵时间!
c# - 从子类中获取属性值并将其添加到目标对象c#
我有一个静态方法,它有两个参数,一个是包含所有信息的源对象,另一个是我想要将所有值传输到的目标对象。
问题是该类具有嵌套类,我不知道如何将其添加到dest
对象中。
我感谢我能得到的所有帮助。
调用该方法如下所示:
c# - 如何创建静态可绑定属性描述对象
为了确保 WPF 中的绑定以现有属性为目标,我使用了静态属性名称属性。
现在,我不想将有关我的属性的更多信息封装到静态属性描述对象、名称、类型、ID 等中,但不必为名称提供一个可路径绑定的属性,并为所有其他信息提供一个属性。
问题是 WPF 抱怨属性类型错误,而不是 String 而是 PropertyInfo。
我试图以某种方式绕过这个限制。例如,我尝试让我的 PropertyInfo 隐式转换为字符串,覆盖 ToString 并将 PropertyInfo 中的 TypeConverter 添加到字符串和 PropertyInfo 中的字符串。没有任何效果。
而且我也不能直接绑定到 Name 属性。
有什么建议么?
c# - 在 Object 中查找自定义类型
我有一个具有不同属性的 Upload 类,我喜欢在此类或其他属性中找到每个 UploadObject 属性。如何在我的 Upload 类中找到所有 UploadObjects?
编辑:我正在寻找一个功能,如:
java - 在android中使用java代码更新数据
如果我必须在 mysql 数据库中插入数据,则意味着我们使用以下代码:
这里使用了addproperty....如何编写代码以更新android中mysql数据库中的数据...请帮助我...
java - 如何在android中发出具有多个属性的ksoap2请求?
我必须提出以下soap请求,但我们无法成功,我尝试了几种方法都失败了,我总是得到一个空白字段作为响应。
请求应如下所示:
我现在有这个代码:
如果有人可以帮助我,我提前感谢您!