다음을 통해 공유


DynamicActivity 클래스

정의

ICustomTypeDescriptor를 사용하여 WF 디자이너 및 런타임과 함께 작동하는 활동을 동적으로 생성할 수 있는 개체 모델을 제공합니다.

public ref class DynamicActivity sealed : System::Activities::Activity, System::ComponentModel::ICustomTypeDescriptor
[System.Windows.Markup.ContentProperty("Implementation")]
public sealed class DynamicActivity : System.Activities.Activity, System.ComponentModel.ICustomTypeDescriptor
[<System.Windows.Markup.ContentProperty("Implementation")>]
type DynamicActivity = class
    inherit Activity
    interface ICustomTypeDescriptor
Public NotInheritable Class DynamicActivity
Inherits Activity
Implements ICustomTypeDescriptor
상속
DynamicActivity
특성
구현

예제

다음 예제에서는 DynamicActivity를 만드는 방법을 보여 줍니다.

// Variables
var iterationVariable = new DelegateInArgument<int>() { Name = "iterationVariable" };
var accumulator = new Variable<int>() { Default = 0, Name = "accumulator" };

// Define the Input and Output arguments that the DynamicActivity binds to
var numbers = new InArgument<List<int>>();
var average = new OutArgument<double>();

var result = new Variable<double>() { Name = "result" };

return new DynamicActivity()
{
    DisplayName = "Find average",
    Properties =
    {
        // Input argument
        new DynamicActivityProperty
        {
            Name = "Numbers",
            Type = typeof(InArgument<List<int>>),
            Value = numbers
        },
        // Output argument
        new DynamicActivityProperty
        {
            Name = "Average",
            Type = typeof(OutArgument<double>),
            Value = average
        }
    },
    Implementation = () =>
        new Sequence
        {
            Variables = { result, accumulator },
            Activities =
            {
                new ForEach<int>
                {
                    Values =  new ArgumentValue<IEnumerable<int>> { ArgumentName = "Numbers" },
                    Body = new ActivityAction<int>
                    {
                        Argument = iterationVariable,
                        Handler = new Assign<int>
                        {
                            To = accumulator,
                            Value = new InArgument<int>(env => iterationVariable.Get(env) +  accumulator.Get(env))
                        }
                    }
                },

                // Calculate the average and assign to the output argument.
                new Assign<double>
                {
                    To = new ArgumentReference<double> { ArgumentName = "Average" },
                    Value = new InArgument<double>(env => accumulator.Get(env) / numbers.Get(env).Count<int>())
                },
            }
        }

생성자

DynamicActivity()

DynamicActivity 클래스의 새 인스턴스를 만듭니다.

속성

Attributes

동적으로 생성된 작업의 특성 컬렉션을 가져옵니다.

CacheId

워크플로 정의 범위 내에서 고유한 캐시의 식별자를 가져옵니다.

(다음에서 상속됨 Activity)
Constraints

Constraint에 대한 유효성 검사를 제공하도록 구성된 DynamicActivity 작업의 컬렉션을 반환합니다.

DisplayName

디버깅, 유효성 검사, 예외 처리 및 추적에 사용되는 선택적 이름을 가져오거나 설정합니다.

(다음에서 상속됨 Activity)
Id

워크플로 정의 범위에서 고유한 식별자를 가져옵니다.

(다음에서 상속됨 Activity)
Implementation

활동의 실행 논리를 가져오거나 설정합니다.

ImplementationVersion

작업의 구현 버전을 가져오거나 설정합니다.

ImplementationVersion

사용한 구현의 버전을 가져오거나 설정합니다.

(다음에서 상속됨 Activity)
Name

워크플로 디자이너에서 작업에 대해 표시될 이름입니다.

Properties

동적으로 생성된 작업 인수에 매핑되는 속성 컬렉션을 가져옵니다.

메서드

CacheMetadata(ActivityMetadata)

활동의 인수, 변수, 자식 활동 및 활동 대리자에 대한 설명을 만들고 유효성을 검사합니다.

(다음에서 상속됨 Activity)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

동적 업데이트 맵을 만들 때 이벤트를 발생시킵니다.

(다음에서 상속됨 Activity)
ShouldSerializeDisplayName()

DisplayName 속성을 serialize해야 하는지 여부를 나타냅니다.

(다음에서 상속됨 Activity)
ToString()

StringIdDisplayName을 포함하는 Activity을 반환합니다.

(다음에서 상속됨 Activity)

명시적 인터페이스 구현

ICustomTypeDescriptor.GetAttributes()

동적 작업의 특성 컬렉션을 반환합니다.

ICustomTypeDescriptor.GetClassName()

동적 작업의 클래스 이름을 반환합니다.

ICustomTypeDescriptor.GetComponentName()

동적 작업의 구성 요소 이름을 반환합니다.

ICustomTypeDescriptor.GetConverter()

동적 작업의 형식 변환기를 반환합니다.

ICustomTypeDescriptor.GetDefaultEvent()

동적 작업의 기본 이벤트를 반환합니다.

ICustomTypeDescriptor.GetDefaultProperty()

동적 작업의 기본 속성을 반환합니다.

ICustomTypeDescriptor.GetEditor(Type)

지정한 기본 형식의 편집기를 반환합니다.

ICustomTypeDescriptor.GetEvents()

동적 작업의 이벤트 컬렉션을 반환합니다.

ICustomTypeDescriptor.GetEvents(Attribute[])

지정한 특성 배열을 필터로 사용하여 동적 작업의 이벤트 컬렉션을 반환합니다.

ICustomTypeDescriptor.GetProperties()

동적 작업의 속성 컬렉션을 반환합니다.

ICustomTypeDescriptor.GetProperties(Attribute[])

지정한 특성 배열을 필터로 사용하여 동적 작업의 속성 컬렉션을 반환합니다.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

DynamicActivity 클래스의 인스턴스를 반환합니다.

적용 대상