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……
  }
}

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM