Chi*_*ago 45 c# extension-methods
如果扩展方法存在于导入的程序集中,有什么必要?我在类库项目中构建了一个,但在我的web项目中无法识别它引用了库.库中的所有其他类和方法都是值得尊重和可见的,但这种扩展方法不是.在库中使用时,扩展方法是可见的.
dtb*_*dtb 62
引用包含具有扩展方法的类的程序集是不够的.您需要在要使用扩展方法的每个源文件中导入包含该类的命名空间.
例如,要使用LINQ到对象,您需要引用System.Core程序集并导入System.Linq命名空间(其中包含带有LINQ扩展方法的Enumerable类):
using System.Linq;
Run Code Online (Sandbox Code Playgroud)
小智 15
如果在不使用Extension语法时可以调用Extension方法,请使用Format:
this.MyExtensionMethod()
Run Code Online (Sandbox Code Playgroud)
这清除了我在VS2010中没有找到类的扩展方法的问题.
对于在 VB.NET 中遇到同样问题的任何人,请注意不仅扩展方法,而且模块本身都需要标记为Public
,否则您将收到此错误。至少在 VS2015 社区中是如此,在其他版本中也可能如此。