Net Core教程

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

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

这篇关于C# 报错:CS1106:扩展方法必须在非泛型静态类中定义;CS1105:扩展方法必须是静态的的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!