다음을 통해 공유


속성 및 인수

작업에 데이터를 전달하는 데 사용할 수 있는 몇 가지 옵션이 있습니다. 사용 InArgument외에도 표준 CLR 속성 또는 공용 ActivityAction 속성을 사용하여 데이터를 수신하는 활동을 개발할 수도 있습니다. 이 항목에서는 적절한 메서드 형식을 선택하는 방법에 대해 설명합니다.

CLR 속성 사용

활동에 데이터를 전달할 때 CLR 속성(즉, 가져오기 및 설정 루틴을 사용하여 데이터를 노출하는 공용 메서드)은 가장 제한 사항이 있는 옵션입니다. 솔루션이 컴파일될 때 CLR 속성에 전달된 매개 변수의 값을 알고 있어야 합니다. 이 값은 워크플로의 모든 인스턴스에 대해 동일합니다. 이러한 방식으로 CLR 속성에 전달되는 값은 코드에 정의된 상수와 비슷합니다. 이 값은 활동의 수명 동안 변경할 수 없으며 활동의 다른 인스턴스에 대해 변경할 수 없습니다. MethodName 는 활동에 의해 노출되는 CLR 속성의 예입니다. 활동이 호출하는 메서드 이름은 런타임 조건에 따라 변경할 수 없으며 활동의 모든 인스턴스에 대해 동일합니다.

인수 사용

인수는 활동 수명 동안 데이터가 한 번만 계산될 때 사용해야 합니다. 즉, 해당 값은 활동의 수명 동안 변경되지 않지만 활동의 다른 인스턴스에 대해 값이 다를 수 있습니다. Condition 는 한 번 계산되는 값의 예입니다. 따라서 인수로 정의됩니다. Text 는 활동의 실행 중에 한 번만 평가되지만 활동의 다른 인스턴스에 대해 다를 수 있으므로 인수로 정의해야 하는 메서드의 또 다른 예입니다.

ActivityAction 사용

활동이 실행되는 동안 여러 번 데이터를 평가해야 하는 경우 ActivityAction를 사용해야 합니다. 예를 들어, Condition 루프의 각 반복에 대해 While 속성이 평가됩니다. 이 용도로 InArgument 사용된 경우 각 반복에 대해 인수를 다시 평가하지 않고 항상 동일한 결과를 반환하므로 루프가 종료되지 않습니다.