[英]VB.net to C# Equivalent of “AddressOf”
我正在嘗試實現這個例子
http://blog.evonet.com.au/post/Gridview-with-highlighted-search-results.aspx
但我遇到的唯一問題是VB.net的AddressOf關鍵字,我無法在C#.net中轉換
任何人都可以幫助我解決這個問題,我應該用什么替代方案讓它發揮作用。
謝謝。
編輯:我發現有關類似問題的stackoverflow上的一些搜索,但我無法理解它們。
你可以把它留下來。 方法組可以隱式轉換為C#中的委托。
return ResultStr.Replace(InputTxt, new MatchEvaluator(ReplaceWords))
甚至更簡單(我認為這需要C#2):
return ResultStr.Replace(InputTxt, ReplaceWords);
但由於ReplaceWords
非常簡單,我會考慮一個lambda表達式(需要C#3):
return ResultStr.Replace(InputTxt, m => "<span class=highlight>" + m + "</span>");
根據您發布的鏈接,我假設您想要這個:
Return ResultStr.Replace(InputTxt, New MatchEvaluator(AddressOf ReplaceWords))
..在C#?
如果是這樣,您根本不需要AddressOf
關鍵字。 MatchEvaluator
是一個委托類型,因此您可以簡單地傳遞一個方法( ResultStr.Replace(InputTxt, ReplaceWords)
)。 或者,您可以使用匿名方法來減少代碼,這是有意義的,因為它沒有在別處使用:
return ResultStr.Replace(InputTxt, delegate(Match m) {
return "<span class=highlight>" + m.ToString() + "</span>";
});
我想你需要把它翻譯成:
new EventHandler(theMethod)
你應該可以使用這樣的東西:
return ResultStr.Replace(InputTxt, new MatchEvaluator(ReplaceWords))
基本上,在c#中,您不需要'addressOf'運算符。 我喜歡它,因為它真的很清楚,但是c#就是這樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.