【发布时间】:2010-10-08 07:40:14
【问题描述】:
我这里有这段代码:
private Func<string, string> RemoveSpecialChars = str => Regex.Replace(str, "[ ./\\-]");
由于静态上下文,它抱怨(无法在静态上下文中访问非静态方法 Replace)关于 Replace 的调用。怎么了?
谢谢:)
【问题讨论】:
标签: c# static-methods
我这里有这段代码:
private Func<string, string> RemoveSpecialChars = str => Regex.Replace(str, "[ ./\\-]");
由于静态上下文,它抱怨(无法在静态上下文中访问非静态方法 Replace)关于 Replace 的调用。怎么了?
谢谢:)
【问题讨论】:
标签: c# static-methods
Regex.Replace 的静态重载有不同的签名:
public static string Replace(
string input,
string pattern,
string replacement
)
您缺少replacement 参数
【讨论】:
你需要使用Regex.Replace(input,pattern,replacement)的方法,the one you use不是静态的:
private Func<string, string> RemoveSpecialChars =
str => Regex.Replace(str, "[ ./\\-]", replacementString);
【讨论】: