编程语言
首页 > 编程语言> > C# 报错:CS1106:扩展方法必须在非泛型静态类中定义;CS1105:扩展方法必须是静态的

C# 报错:CS1106:扩展方法必须在非泛型静态类中定义;CS1105:扩展方法必须是静态的

作者:互联网

这里涉及一个知识点,就是C#的扩展方法
比较显著的标识就是方法参数类型定义时使用this
包含扩展方法的类及方法本身必须是静态的,否则就会报上述错误

// 报错CS1106
public class ExtensionHelper
{
  public void SelectAll(this string str)
  {
    //to do sth……
  }
}

// 报错CS1106
public class ExtensionHelper
{
  public static void SelectAll(this string str)
  {
    //to do sth……
  }
}

// 报错CS1105
public static class ExtensionHelper
{
  public void SelectAll(this string str)
  {
    //to do sth……
  }
}

// 正确形式
public static class ExtensionHelper
{
  public static void SelectAll(this string str)
  {
    //to do sth……
  }
}

关于扩展方法粗略了解自扩展方法必须在非泛型静态类中定义

标签:SelectAll,do,静态,扩展,sth,报错,static,public
来源: https://www.cnblogs.com/whr2071/p/16133043.html