Share via


InvokeMethod 활동 디자이너

InvokeMethod 디자이너는 InvokeMethod 활동을 만들고 구성하는 데 사용합니다.

InvokeMethod 활동

InvokeMethod는 지정한 개체 또는 형식의 public 메서드를 호출합니다.

InvokeMethod 활동 디자이너 사용

도구 상자Primitives 범주에서 InvokeMethod 활동 디자이너에 액세스합니다. InvokeMethod 활동 디자이너를 도구 상자에서 끌어다가 Sequence 내부와 같이 일반적으로 활동을 배치할 워크플로 디자이너 화면의 아무 곳에나 놓을 수 있습니다. 활동 디자이너를 놓으면 InvokeMethod의 기본 DisplayName을 사용하여 InvokeMethod 활동이 생성됩니다. InvokeMethod 활동 디자이너의 머리글 또는 속성 표의 DisplayName 상자에서 DisplayName을 편집할 수 있습니다.

InvokeMethod 속성

다음 표에서는 InvokeMethod 속성을 보여 주고 디자이너에서 이 속성을 사용하는 방법을 설명합니다. 이러한 속성은 속성 표에서 편집할 수 있으며 일부 속성은 워크플로 디자이너 화면에서 편집할 수 있습니다.

속성 이름 필수 사용량
DisplayName False InvokeMethod 활동의 이름입니다. 기본값은 InvokeMethod입니다.

DisplayName은 꼭 필요하지 않더라도 사용하는 것이 좋습니다.
MethodName True 작업이 실행될 때 호출할 메서드의 이름입니다. 호출되는 메서드는 public으로 선언해야 합니다. 이 속성은 디자이너 화면에서 편집할 수 있으며 필수입니다.
Parameters False 호출되는 메서드의 매개 변수 컬렉션입니다. 매개 변수는 메서드 서명에 표시되는 순서와 동일한 순서로 컬렉션에 추가해야 합니다. 이 속성을 설정할 수 있는 매개 변수 대화 상자를 표시하려면 속성 표의 매개 변수 필드에서 줄임표 단추를 클릭합니다. 인수 만들기 단추를 클릭하여 매개 변수를 추가합니다.
Result False 메서드 호출의 반환 값입니다.
RunAsynchronously True 메서드가 비동기적으로 호출되는지 여부를 지정합니다. 기본값은 False입니다.
TargetObject False 호출할 메서드가 포함된 개체입니다. 이 속성은 디자이너 화면에서 편집할 수 있습니다.

TargetObject 또는 TargetType을 설정해야 합니다.
TargetType False TargetObject의 형식입니다. 이 속성은 디자이너 화면에서 편집할 수 있습니다. 이 속성은 호출된 메서드가 정적인 경우에만 설정해야 합니다.

C# out 매개 변수(예: example, Method1(out myParam)))로 매개 변수를 전달하려면 InOutArgument가 아니라 OutArgument를 사용합니다.

TargetObject 또는 Result라는 인수가 있는 메서드는 InvokeMethod 활동을 사용하여 호출할 수 없습니다. 그 이유는 InvokeMethod 활동이 GenericTypeArguments, TargetObjectResultCacheMetadata에 등록하기 때문입니다.

CacheMetadata에 매개 변수를 등록하는 알고리즘이 다음 목록에 나와 있습니다.

  1. TargetObject 인수를 등록합니다.

  2. Result 인수를 등록합니다.

  3. Parameters 컬렉션을 반복하고 각 인수를 등록합니다.

다음과 같은 메시지와 함께 InvalidWorkflowException 형식의 예외가 발생합니다. 'InvokeMethod': 이름이 'TargetObject'인 변수(RuntimeArgument 또는 DelegateArgument) 변수가 이미 있습니다. 이름은 환경 범위 내에서 고유해야 합니다.

TargetTypeRunAsynchronously에는 이 제한이 적용되지 않습니다. 워크플로 인수가 아니므로 CacheMetadata 메서드에서 InvokeMethod 활동의 GenericTypeArguments 컬렉션에 등록되지 않습니다.

참고 항목