首页 > 解决方案 > C# Browseable 属性 - 影响其他类

问题描述

我已经看到了更改类的可浏览属性的代码...

PropertyDescriptor pdDescriptor = TypeDescriptor.GetProperties(pThis.GetType())[pProperty];
    BrowsableAttribute baAttribute = (BrowsableAttribute)pdDescriptor.Attributes[typeof(BrowsableAttribute)];
    FieldInfo fiBrowsable = baAttribute.GetType().GetField("browsable", BindingFlags.NonPublic | BindingFlags.Instance);
    fiBrowsable.SetValue(baAttribute, pBrowsable);


class Motor
{
   [Browseable(true)]
   public int Size {get; set;}
}
class Brake
{
   public intRate {get; set;}
   public int Delay{get; set;}
}

虽然它似乎工作正常 - 在属性上没有任何属性的类上,属性被标记为不可浏览。

如果我更改 Motor 上 Size 的可浏览属性,则 Brake 类也会更改。

有任何想法吗?

标签: attributespropertygrid

解决方案


推荐阅读