日期:2014-05-18  浏览次数:21077 次

c#中相同类的不同对象可以拥有不同特性吗?
比如class TestClass
{
  [browable(true)]
  public string Name{get;set;}
}
实例化两个对象TestClass a=new TestClass ();TestClass b=new TestClass ();
怎么能让a和b两个对象的name属性的browable特性值不同呢?

------解决方案--------------------
如果是写到程序元数据(MetaData)的特性,本身不能改变。

不过,某些应用,比如PropertyGrid,GridDataView等认识ICustomTypeDescriptor,并接受ICustomTypeDescriptor提供有关的类型信息,具体使用可以搜索(ICustomTypeDescriptor+PropertyGrid)。

对于PropertyGrid,下贴3楼则用另外一种简单的方式,有示例代码:
http://topic.csdn.net/u/20081119/16/dfeb55a4-db4f-444b-a607-d7bd6eb5ff7f.html?seed=546515909