Invoke Code에서 Lambda Expression 사용하기

액티비티를 조합하여 워크플로우로 구현하자면 양이 많아지고 복잡한 타스크를 VB.Net 코드로 구현하면 훨씬 간단하게 끝낼 수 있는 경우가 많이 있습니다. 적절하게 코드를 사용하면 워크플로우가 지나치게 커지고 복잡해지는 것을 방지할 수 있고, 가독성도 좋아집니다.

Invoke Code 액티비티로 VB.Net 코드를 작성할 때에는 Function이나 Subroutine은 사용할 수 없습니다. 코드 안에 정의하면 아래와 같은 에러가 발생합니다. 그보다 상위의 컨테이너인 Module도 마찬가지입니다.

코드에서 Function이나 Subroutine이 꼭 필요하다면 lambda expression을 사용하면 됩니다. 아래의 예에서는 lambda expression으로 "AddTwoNumbers"라는 Function을 구현하고 있습니다. "Func(Of Integer, Integer, Integer)"의 세 Integer 중 앞의 두 개는 이 함수가 취하는 인수이고, 마지막 Integer는 이 함수가 반환하는 타입입니다.

Lambda expression의 syntax는 표준 Function이나 Subroutine과는 조금 다릅니다. 구체적인 내용은 아래의 마이크로소프트 문서를 참고하시기 바랍니다.

https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/procedures/lambda-expressions

1 Like

동일한 내용이 작년에 이미 포스팅 되었었네요…