我在网上找到了一些代码。它在C#中,我正在尝试将其移植到vb.net。我需要一些帮助来调用Log子例程中的赋值函数。在C#中,当在Log中调用时,求值器似乎不期望任何参数。但是,VB一直在询问Match参数。什么是魔术,我应该如何让它在VB.NET中工作?感谢。
private string evaluator(Match match)
{
Pri pri = new Pri(match.Groups[1].Value);
return pri.ToString()+" ";
}
private void Log(EndPoint endPoint, string strReceived)
{
...
string strMessage = string.Format("{0} : {1}",
endPoint, m_regex.Replace(strReceived, evaluator));
...
}
答案 0 :(得分:1)
C#版本使用(string, MatchEvaluator)
的{{1}}重载,并使用方法名称隐式转换为Regex.Replace()
委托类型。请参阅有关超载的MSDN documentation。
在MSDN页面上,他们称之为:
MatchEvaluator
因此,请务必使用Dim result As String = rx.Replace(text, AddressOf RegExSample.CapText)
关键字。