隐藏IntelliSense中某些泛型类型的扩展方法

时间:2013-02-26 06:55:51

标签: c# extension-methods intellisense

我有一个扩展方法:

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

如果T是一个字符串,我希望隐藏此扩展方法,但是对于其他类型,我希望在使用字符串时隐藏Linq中IEnumerable的扩展方法。 我查看了EditorBrowsableAttribute,但它似乎不允许隐藏基于泛型类型的方法。

1 个答案:

答案 0 :(得分:0)

尝试将EditorBrowsableAttribute放置到此方法(也可能放在包含此方法的类中),并将方法重定位到另一个程序集(另一个项目)。之后,编译程序集并卸载项目,因此您将只有DLL引用。这是使用EditorBrowsableAttribute的强大功能的唯一方法。