无法使用实例引用访问成员"<method>"

Dav*_*vid 3 c# instance

整个错误文本是:

'System.Text.RegularExpressions.Regex.Replace(string, string, string, System.Text.RegularExpressions.RegexOptions)'无法使用实例引用访问成员; 用类型名称来限定它

这是代码.我在这里的另一篇文章中删除了"静态",但它仍然给我错误.

我很感谢所有专家的帮助 - 谢谢!

public string cleanText(string DirtyString, string Mappath)
{
    ArrayList BadWordList = new ArrayList();
    BadWordList = BadWordBuilder(BadWordList, Mappath);

    Regex r = default(Regex);
    string element = null;
    string output = null;

    foreach (string element_loopVariable in BadWordList)
    {
        element = element_loopVariable;
        //r = New Regex("\b" & element)
        DirtyString = r.Replace(DirtyString, "\\b" + element, "*****", RegexOptions.IgnoreCase);
    }

    return DirtyString;
}
Run Code Online (Sandbox Code Playgroud)

Jar*_*Par 5

问题在于使用该方法Replace而不是在声明中使用static.您需要使用typename Regex而不是变量r

DirtyString = Regex.Replace(DirtyString, "\\b" + element, "*****", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

原因是在C#中你不能通过static类型的实例访问方法.这里Replacestatic因此它必须通过使用类型Regex