无法调用自定义扩展方法

时间:2014-08-19 10:09:24

标签: c# string extension-methods contains

我试图像这样制作自己的扩展方法..

static bool Contains(this string source, string toCheck, StringComparison comp)
{
    return source.IndexOf(toCheck, comp) >= 0;
}

这样我就可以找到字符串中存在的任何子字符串而不管它们的情况如何但在使用此扩展方法时如果Condtion我会收到这样的错误..

  

字符串不包含Contains的定义

if (currentLine.Contains("local", StringComparison.OrdinalIgnoreCase))
{
}

请帮我解决这个问题..

1 个答案:

答案 0 :(得分:4)

确保您的扩展方法为public static且位于public static类内。

更具体地说,如How to: Implement and Call a Custom Extension Method (C# Programming Guide)中所述:

  
      
  1. 定义静态类以包含扩展方法。   类必须对客户端代码可见。

  2.   
  3. 将扩展方法实施为静态方法,至少与包含类具有相同的可见性。

  4.   
  5. 在调用代码中,添加 using 指令以指定包含扩展方法类的命名空间。

  6.