C# Func
C#에서 람다 식은 경량 함수를 나타내는 편리한 방법을 제공합니다. 람다를 Expression
도전
그러나 다음 코드와 같이 컴파일 타임 오류로 인해 이러한 직접 변환은 불가능합니다. :
public void ContainTheDanger(Func<T> dangerousCall) { try { dangerousCall(); } catch (Exception e) { // This next line does not work... Expression<Func<T>> DangerousExpression = dangerousCall; var nameOfDanger = ((MemberExpression)dangerousCall.Body).Member.Name; throw new DangerContainer("Danger manifested while " + nameOfDanger, e); } }
오류는 Func
제한 사항
안타깝게도 원하는 변환을 달성하는 간단한 방법은 없습니다. Func
대체 접근 방식
대안으로 다음을 고려할 수 있습니다.
그러나 이러한 접근 방식에는 일반적으로 복잡한 작업이 수반됩니다. 그리고 오류가 발생하기 쉬운 기술.
결론
Func
위 내용은 C# Func를 표현식으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!