我正在使用PostSharp为我的属性添加一些编译时逻辑 - 在一次案例中[IndexedCategory ("CatName", CatIndex)]
。麻烦来了,因为IndexedCategory
派生自CompoundAspect
- 它具有合理数量的命名参数。
有什么方法可以阻止这些被intellisence访问/显示?
干杯
答案 0 :(得分:1)
我认为你应该重新考虑你的设计。我不确定继承是否可行,也许组合会更好地满足您的需求。如果你不了解你想要完成的任务,那么很难给出具体的例子,但是如果你不需要基类的属性,你为什么要从它继承呢?
答案 1 :(得分:1)
我尝试了一些事情......一个确定的方法是让它不是编译将重新声明属性过时或带走设置者 - 不过很好。< / p>
我尝试了一些其他设置(不可浏览,标记为不可变*),但它没有多大帮助:
[ImmutableObject(true)] // I'm sure this used to toggle intellisense for attribs
public class FooAttribute : BarAttribute
{
[EditorBrowsable(EditorBrowsableState.Never), Browsable(false)]
[ReadOnly(true)]
public new string Name { get { return base.Name; } }
}
无论如何,在上面Name
中无法为属性设置,即使它可以在基础上。哈基和丑陋。