端口代码到vb.net

时间:2013-06-01 06:11:36

标签: c# vb.net

我在网上找到了一些代码。它在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));
...
}

1 个答案:

答案 0 :(得分:1)

C#版本使用(string, MatchEvaluator)的{​​{1}}重载,并使用方法名称隐式转换为Regex.Replace()委托类型。请参阅有关超载的MSDN documentation

在MSDN页面上,他们称之为:

MatchEvaluator

因此,请务必使用Dim result As String = rx.Replace(text, AddressOf RegExSample.CapText) 关键字。