Regex.Replace和静态上下文?

gra*_*ady 7 c# static-methods

我在这里有这个代码:

private Func<string, string> RemoveSpecialChars = str => Regex.Replace(str, "[ ./\\-]");
Run Code Online (Sandbox Code Playgroud)

由于静态上下文,它抱怨(无法在静态上下文中访问非静态方法Replace)关于对Replace的调用.怎么了?

谢谢 :)

Jul*_*rau 20

您需要使用该方法Regex.Replace(input,pattern,replacement),您使用的方法不是静态的:

private Func<string, string> RemoveSpecialChars = 
                       str => Regex.Replace(str, "[ ./\\-]", replacementString);
Run Code Online (Sandbox Code Playgroud)


Tho*_*que 6

静态重载Regex.Replace具有不同的签名:

public static string Replace(
    string input,
    string pattern,
    string replacement
)
Run Code Online (Sandbox Code Playgroud)

你错过了这个replacement参数