2011-04-11 8 views

cevap

9

# 2,0 c delegate anahtar kelime destekler bu işe:

static string OnEvaluator(Match match) { 
    int splitPos = match.Value.IndexOf("=\""); 
    string newValue = match.Value.Substring(0, splitPos + 2) + 
     "RetrieveBuildFile.aspx?file=" + 
     prefix + 
     match.Value.Substring(splitPos + 2); 
    return newValue; 
} 

ile seslendi::

MatchEvaluator evaluator = delegate(Match match) { 
    int splitPos = match.Value.IndexOf("=\""); 
    string newValue = match.Value.Substring(0, splitPos + 2) + 
         "RetrieveBuildFile.aspx?file=" + 
         prefix + 
         match.Value.Substring(splitPos + 2); 
    return newValue; 
}; 

Ve bu tam olarak aynı olduğundan

MatchEvaluator evaluator = OnEvaluator; 

Ve bu nedir?

MSDN: Bir Yöntem işlemi sırasında düzenli bir ifade eşleşmesi bulunur her zaman çağrılan yöntemi temsil eder.

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.matchevaluator.aspx

+1

'var' sadece VS2008 da - VS2005 içinde bu bina ne zaman gerçek tipi, örn ile' var' değiştirmeniz gerekir İkincisi ilk durumda ve ikinci sırada (dize). – Justin

+0

Haklısın, bunu kaçırdın. Örneği güncelleyecektir. –

İlgili konular