4

私は拡張メソッドを持っています:

public static void Foo<T>(this MyClass<T> target)
    where T : IEnumerable
{
    // Code goes here
}

Tが文字列の場合、この拡張メソッドをInteliSenseから非表示にしますが、文字列を操作しているときにLinqのIEnumerableの拡張メソッドが非表示になるのと同じように、他のタイプの場合は非表示にします。私は見てきましたEditorBrowsableAttributeが、ジェネリック型に基づいてメソッドを非表示にすることはできないようです。

4

1 に答える 1

0

EditorBrowsableAttributeこのメソッド(およびこのメソッドを含むクラスにも)を配置し、メソッドを別のアセンブリ(別のプロジェクト)に再配置してみてください。その後、アセンブリをコンパイルしてプロジェクトをアンロードすると、DLL参照のみが作成されます。これは、の力を使用する唯一の方法ですEditorBrowsableAttribute

于 2013-02-26T07:20:05.763 に答える