1

我有一个 DynamicObject 包装器,它基本上是从另一个私有对象实例(除其他外)转发属性值。但是有没有办法动态地返回属性类型呢?

我问的原因是因为我在 WPF 中尝试将视图值(在我的情况下为字符串,文本框绑定到双属性)转换为对象类型的演示者值而不是双精度(其中如果对象不是动态的并且该属性的返回类型为双精度,则会出现这种情况)。

如果有像 TryGetMemberType 这样的地方,那就太好了......

4

1 回答 1

1

不,动态是不可能的:null 没有类型,动态没有元数据。

但是,在大多数 UI 数据绑定代码中(包括 WPF),主要 API 是 System.ComponentModel - 它支持一种动态行为形式(并且从 1.0 开始就已经这样做了)。通常,您将使用 ICustomTypeDescriptor、TypeDescriptionProvider 或 ITypedList 来提供自定义 PropertyDescriptor 实例。这些具有完整的元数据,包括类型信息。

我想知道这是否更适合您的需求。

于 2012-11-07T19:30:58.273 回答