我想添加的属性(如可浏览(false))动态的同时,显示在网。情况是,我有一个定义类与一些公开的性质。然而,我不希望所有的公共性质以显示在用户界面。是否有出路?

我试图使用TypeDescriptor.但是,它只适用的类型一级而不是在酒店的水平。我没找到任何帮助就如何使用它在酒店的水平。

任何指针,将高度赞赏。

有帮助吗?

解决方案

其实这是可能的,但我不得不承认这是相当模糊和不良记录。关键是要获得从System.ComponentModel.TypeDescriptionProvider自己的自定义TypeDescriptorProvider。然后你就可以回到自己的TypeDescriptor后裔。

我这样做是为了解决关于ASP.NET MVC的ViewModels和元数据的相当恶劣的限制,但你可以也用它来插入自己的额外的元数据。

其他提示

我已经努力在这个同一地区在过去的几天。长话短说,我得出的结论,这是不可能的。

是你的原因是试图适用的属性在运行时因为你不想要混合"UI"的代码有你的定义类?

如果是这种情况下, BrowsableAttribute 是的一个成员ComponentModel((http://msdn.microsoft.com/en-us/library/system.componentmodel.aspx)是不用户界面相关的,在相同的意义,因为它.

卡尔

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top