1

PostSharpを使用して、属性にコンパイル時ロジックを追加しています[IndexedCategory ("CatName", CatIndex)]IndexedCategoryから派生するため、問題が発生しますCompoundAspect。これには、適切な数の名前付きパラメーターがあります。

これらがインテリジェンスによってアクセス/表示されるのを防ぐ方法はありますか?

乾杯

4

2 に答える 2

1

デザインを考え直すべきだと思います。継承が進むべき道かどうかはわかりません。おそらく、作曲はあなたのニーズにより適しているでしょう。何を達成しようとしているのかを詳しく知らなければ、具体的な例を示すのは非常に困難ですが、基本クラスのプロパティが必要ない場合は、なぜそれを継承するのでしょうか。

于 2009-10-22T03:30:51.437 に答える
1

私はいくつかのことを試しました...コンパイルされないようにする確実な方法の1つは、プロパティを廃止として再宣言するか、セッターを削除することです。

他のいくつかの設定(閲覧不可、不変とマーク*)を試しましたが、あまり役に立ちませんでした。

[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は、ベースに設定できても、属性に設定することはできません。ハッキーで醜い。

于 2009-10-22T04:20:36.207 に答える