[英]Extension method must be defined in non-generic static class
错误在:
public partial class Form2 : Form
可能的原因:
public static IChromosome To<T>(this string text)
{
return (IChromosome)Convert.ChangeType(text, typeof(T));
}
尝试(没有静态关键字):
public IChromosome To<T>(this string text)
{
return (IChromosome)Convert.ChangeType(text, typeof(T));
}
如果从参数中删除“this”,它应该可以工作。
public static IChromosome To<T>(this string text)
应该:
public static IChromosome To<T>(string text)
包含扩展名的类必须是静态的。 你的是:
public partial class Form2 : Form
这不是静态类。
你需要像这样创建一个类:
static class ExtensionHelpers
{
public static IChromosome To<T>(this string text)
{
return (IChromosome)Convert.ChangeType(text, typeof(T));
}
}
包含扩展方法。
因为您的包含类不是静态的,所以Extension方法应该在静态类中。 该类也应该是非嵌套的。 扩展方法(C#编程指南)
我的问题是因为我在分部类中创建了一个静态方法:
public partial class MainWindow : Window{
......
public static string TrimStart(this string target, string trimString)
{
string result = target;
while (result.StartsWith(trimString)){
result = result.Substring(trimString.Length);
}
return result;
}
}
当我删除该方法时,错误就消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.