问题标签 [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# - 使用包含另一个对象数组的对象的反射读取属性
如何在 c# 中使用反射读取包含数组类型元素的对象的属性。如果我有一个名为 GetMyProperties 的方法并且我确定该对象是自定义类型,那么我如何读取数组的属性和其中的值。IsCustomType 是确定类型是否为自定义类型的方法。
场景是,我有一个 ArrayClass 对象,而 ArrayClass 有两个属性:
DeptArray 是另一个具有 2 个属性的类:
因此,此方法获取 ArrayClass 的对象。我想从上到下读取所有属性并将名称/值对存储在字典/列表项中。我能够为值、自定义、枚举类型做到这一点。我被一系列对象困住了。不知道该怎么做。
dynamic - 使用 C# 在运行时读取参数、属性和返回类型的一种方法
继续我之前的线程使用反射读取包含另一个对象数组的对象的属性。我希望让 EvgK 中的这个美妙的方法成为一种通用方法,可以在我的代码库中的多个地方使用。
同样,我正在尝试读取用户传递的方法。我列出了参数、它们的属性和值。用户提供输入值后,我会动态调用该方法以获取结果对象。结果被传递给 GetMyProperties() 方法,该方法列出所有属性(到 n 级) - 名称、值和类型。
目前,我有两种方法(定义如下):
我使用第一个来显示所选方法的所有参数列表及其属性 - 名称、值和类型。
..创建我的属性列表,以便用户可以输入参数。我通过 ParameterType 和 GetProperties 方法检查它是否是自定义类型。如果是自定义类型,那么它会以递归方式调用自身以构建我绑定到网格以供输入的列表。
第二种方法 GetMyProperties(object obj) 用于列出返回对象。由于我在编译时不知道所选方法的返回类型,所以使用对象类型。我想知道我是否可以以某种方式修改第二种方法以使用它来读取参数、属性和返回类型?而不是有单独的方法?试图重用代码。
.net - 使用 PropertyInfo.GetValue 获取没有 getter 的 AutoProperty 的值
我正在尝试在单元测试中获取字符串属性的值。问题是该属性没有吸气剂。该属性也被声明为 AutoProperty,并且没有支持字段。
我正在尝试在 System.Reflection 命名空间中使用 PropertyInfo.GetValue(...) 。但是我得到 System.ArgumentException : Property Get 方法没有找到。
我不拥有该类型的代码,因此我无法向该属性添加吸气剂。
如何获得这样一个财产的价值?
c# - 如何将包含某些属性的自定义类类型的未知对象列表传递给方法?
我正在使用访问 SQLCE 数据库的方法创建一个 databasehelper 类。我想使用相同的方法来使用包含与不同表中的字段匹配的属性的不同类来读取行。要使用的类是在运行时确定的,我想将一个包含类中对象的列表传递给方法,并获取属性名并使用它们来读取数据库。会非常方便,因为我可以将它用于我所有的(SQLCE-)数据库。
(我更新了错误代码以便在此处提供解决方案)
我有两个问题:
1)如何通过未知类型的列表?到目前为止我找到的答案并没有帮助我解决这个问题。
2)如何实例化未知类型类的对象(在编译时)以便将其添加到列表中而不会导致编译错误?
非常感谢!
linq - 使用 linq 查询对象的属性
我想扫描一个类型的属性和带注释的属性,并返回一个具有以下结构的对象
我有这个查询
这是延迟执行的,所以我只PropertyContext
在调用方法需要它们时生成。
现在我想填充对象的PropertyValue
属性PropertyContext
。
为了获得属性的值,我调用了像这样的其他组件
我的问题是,我如何以*
- 该值仅读取一次
- 但前提是创建了 PropertyContext
c# - 如何通过反射获取类中属性的“类类型”?
这是一段代码
我正在尝试检查 Order 对象。现在我想做的是:获取所有属性并尝试找出类类型,例如
我想获得另一个类的“OrderDetail”类型。当我尝试使用 PropertyInfo.PropertyType 获取它时,我得到“List1”(通用类型),PropertyInfo.GetType() 给出了一些 System.Reflection.RuntimeType,PropertyInfo.DeclaringType 给出了“Order”(包含属性的类)。如果有人可以提出解决方案,我将不胜感激。提前致谢。
c# - PropertyInfo.GetValue(myObject, null).GetType() 返回“对象引用未设置为对象的实例”。
我正在尝试将 MembershipUserCollection 转换为要在 GridView 中使用的 DataSet,并且我有这个帮助程序类,它将遍历所有成员行和属性并获取值和类型并将它们推入 DataRows。
它在属性有值时工作,但是当有空值时,它会中断返回消息“对象引用未设置为对象的实例。”。
在这个特定的例子中,如果它的值为“null”,它会在 Comment 字段上中断。
这是我发生的代码:
任何帮助表示赞赏。
blackberry - Ksoap 黑莓 PropertyInfo.setValue
所以我使用 PropertyInfo 在我的肥皂请求中传递复杂的对象,它在 android 上运行良好,示例:
//envelope 是一个带有命名空间映射的 KvmSerializable 类。
现在我试图对黑莓做同样的事情,但它不喜欢“setName”或“setValue”参数。
有任何想法吗?
c# - PropertyInfo.SetValue(object obj, object val, object[] index) 属性值在更改“object val”时不会改变
我遇到了一个非常奇怪的问题。我正在尝试设置特定对象的属性,通过
两者obj
和val
都是引用类型,但问题是我希望在值obj's property
更改时val
更改值。但不幸的是,这并没有发生。有什么办法可以实现我想做的事情。
问候
乌迈尔
reflection - 使用 IQueryable 进行反射
我正在尝试为 IQueryable 创建一个扩展方法,该方法通过对象的任意属性对其进行排序。
调用该方法时出现此错误。我想这与 IQueryable 尚未执行和检索任何对象有关。
LINQ to Entities 无法识别该方法System.Object GetValue(System.Object, System.Object[])
,并且该方法无法转换为存储表达式。
我可以通过在 IQueryable 上执行 ToList 来解决它,但是然后我在扩展方法中检索数据,这不是我想要的。
这可以解决吗?