首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PropertyInfo获取DataRow的PropertyDescriptor

从PropertyInfo获取DataRow的PropertyDescriptor
EN

Stack Overflow用户
提问于 2013-08-15 13:10:30
回答 2查看 1.8K关注 0票数 4

如何从PropertyInfo获得DataRow的PropertyDescriptor。

代码语言:javascript
复制
//pd is a PropertyDescriptor
var propertyinfo = pd.ComponentType.GetProperty(pd.Name);

上面的代码对于列表集合很好,但在我使用DataTable时不起作用。

对此有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-15 13:24:06

PropertyInfo是反射世界,其中类型具有显式的CLI属性。DataTable不属于那个世界;它通过TypeDescriptorPropertyDescriptor等方式使用System.ComponentModel灵活的属性模型。基本上:在CLI意义上,不存在属性PropertyDescriptor可以用来描述“属性”,在更灵活、更动态的意义上,布局不是指定为一种类型,而是自定义的,通常在运行时处于动态状态。

所以不:你不能这么做。这个问题没有意义,至少在一般情况下是没有道理的。还有一些“类型化的数据集”,但坦率地说,我强烈建议远离它们。

顺便说一句,您可以为任何类型创建自己的伪属性--它有扩展点(TypeDescriptorITypedListICustomTypeDescriptorTypeConverter等);但是只有显式使用System.ComponentModel的代码才会看到它们。

票数 3
EN

Stack Overflow用户

发布于 2022-11-23 20:35:21

DataView构建在DataTable之上:

DataView viewData = table.DefaultView;

因为DataView实现了ITypedList,所以您可以从它获得一个PropertyDescriptors集合:

(视图为ITypedList).GetItemProperties(null)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18253339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档