2016-06-13 2 views
0

C# 용 확장 라이브러리를 작성 중이며 메서드 호출시 코드 블록을 수락 할 수 있는지 궁금합니다. 뭔가 아래와 같이 : 이런메서드에서 코드 블록을 수락하는 방법 C#

foo() 
{ 
    var bar = 0; 
}; 

또는 뭔가도 할 것 :

foo(
{ 
var bar = 0; //As an argument to the method 
}); 
+0

야를 읽을 수 있습니다. 델리게이트를 사용할 수 있습니다. 이 이전 질문보기 : http://stackoverflow.com/questions/6866347/lambda-anonymous-function-as-a-parameter –

+0

감사합니다. @GiladGreen, 매우 도움이됩니다! 이 질문을 중복으로 표시하거나 설명을 답변으로 추가하십시오. – RhysO

+0

웬일인지 그것을 대답으로 추가하지는 않겠지 만 그냥 코멘트로 남겨 둡니다 ..... –

답변

0

는이 작업을 수행하기 위해 대리인/람다에 전달할 수 있습니다.

public void foo(Action del) 
{ 
    var local = del; 
    if (local != null) 
    { 
     local(); 
    } 
} 

foo(() => 
{ 
var bar = 0; 
}); 

당신은 더 here

관련 문제