매개 변수를 프로파일 링하고 분석 할 수 있도록 응용 프로그램 내에서 메서드 호출을 감사하려고합니다. 나는 C#에서 매개 변수를 전달합니다.
Run(()=> SomeFunction(paramA, paramB), paramA, paramB));
public static void Run(Expression<Action> action, params object[] param)
{
var func = action.Compile();
func();
}
public static T Run<T>(Expression<Func<T>> action, params object[] param)
{
var func = action.Compile();
return func();
}
그러나 나는 람다를 잃고 사용하는 방법도 쉽게 기대하고 있었는데,이 작업을 얻었다. 예를 들어,
Run(SomeFunc, paramA, paramB);
는 여기에 도착하지만, 나는 누군가가 나를 도울 수있는 경우에, 난처한 해요 :
private T Run<T>(Func<T> subReturn) {}
'실행'메소드에 전달하는'param'을 사용하고 있지 않습니다. 그게 의도적 인거야? –
dasblinkenlight
"프로필을 분석하고 매개 변수를 분석"하는 것이 무엇을 의미하는지 자세히 설명해 주시겠습니까? –
몇 가지 기능이 있습니까? 그리고 매개 변수의 수/유형 측면에서 얼마나 많은 차이가 있습니까? 그러나 더 흥미로운 점은 Run (() SomeFunc (paramA, paramB))보다 Run (SomeFunc, paramA, paramB)이 더 사용하기 쉬운 이유가 무엇이라고 생각 하는가? 다른 사람들이 지적했듯이, 매개 변수를 두 번 전달할 필요가 없습니다. 이미 추출한 매개 변수를 구문 분석해야 추출 할 수 있지만 '표현식 < >'의 일부로 이미 있습니다. –