다음을 통해 공유


NativeActivity 클래스

정의

Execute(NativeActivityContext) 메서드를 사용하여 실행 논리를 구현하는 사용자 지정 활동의 추상 기본 클래스로, 런타임 기능에 완전히 액세스할 수 있도록 지정합니다.

public ref class NativeActivity abstract : System::Activities::Activity
public abstract class NativeActivity : System.Activities.Activity
type NativeActivity = class
    inherit Activity
Public MustInherit Class NativeActivity
Inherits Activity
상속
NativeActivity
파생

예제

다음 코드 샘플에서는 에서 NativeActivity<TResult>상속하는 클래스를 만드는 방법을 보여 줍니다. 이 예제는 네이 티브 활동을 사용하는 사용자 지정 복합 샘플에서 가져옵니다.

public sealed class MySequence : NativeActivity  
{  
    Collection<Activity> children;  
    Collection<Variable> variables;  
    Variable<int> currentIndex;  
    CompletionCallback onChildComplete;  

    public MySequence()  
        : base()  
    {  
        this.children = new Collection<Activity>();  
        this.variables = new Collection<Variable>();  
        this.currentIndex = new Variable<int>();  
    }  

    public Collection<Activity> Activities  
    {  
        get  
        {  
            return this.children;  
        }  
    }  
    public Collection<Variable> Variables  
    {  
        get  
        {  
            return this.variables;  
        }  
    }  
    protected override void CacheMetadata(NativeActivityMetadata metadata)  
    {  
        //call base.CacheMetadata to add the Activities and Variables to this activity's metadata  
        base.CacheMetadata(metadata);  
        //add the private implementation variable: currentIndex   
        metadata.AddImplementationVariable(this.currentIndex);  
    }                     

    protected override void Execute(NativeActivityContext context)  
    {  
        InternalExecute(context, null);  
    }  
    void InternalExecute(NativeActivityContext context, ActivityInstance instance)  
    {  
        //grab the index of the current Activity  
        int currentActivityIndex = this.currentIndex.Get(context);  
        if (currentActivityIndex == Activities.Count)  
        {  
            //if the currentActivityIndex is equal to the count of MySequence's Activities  
            //MySequence is complete  
            return;  
        }  

        if (this.onChildComplete == null)  
        {  
            //on completion of the current child, have the runtime call back on this method  
            this.onChildComplete = new CompletionCallback(InternalExecute);  
        }  
        //grab the next Activity in MySequence.Activities and schedule it  
        Activity nextChild = Activities[currentActivityIndex];  
        context.ScheduleActivity(nextChild, this.onChildComplete);  

        //increment the currentIndex  
        this.currentIndex.Set(context, ++currentActivityIndex);  
    }  
}  

생성자

NativeActivity()

파생 클래스에서 구현된 경우 파생 클래스의 새 인스턴스를 만듭니다.

속성

CacheId

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

(다음에서 상속됨 Activity)
CanInduceIdle

활동을 통해 워크플로가 유휴 상태가 될 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

Constraints

Constraint에 대한 유효성 검사를 제공하도록 구성될 수 있는 Activity 작업의 컬렉션을 가져옵니다.

(다음에서 상속됨 Activity)
DisplayName

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

(다음에서 상속됨 Activity)
Id

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

(다음에서 상속됨 Activity)
Implementation

작업의 실행 논리입니다.

ImplementationVersion

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

ImplementationVersion

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

(다음에서 상속됨 Activity)

메서드

Abort(NativeActivityAbortContext)

파생 클래스에서 구현된 경우 중단 중인 활동에 대한 응답으로 동작을 수행합니다.

CacheMetadata(ActivityMetadata)

구현되지 않았습니다. 대신 CacheMetadata(NativeActivityMetadata) 메서드를 사용합니다.

CacheMetadata(NativeActivityMetadata)

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

Cancel(NativeActivityContext)

파생 클래스에서 구현된 경우 활동을 점진적으로 조기에 완료하도록 논리를 실행합니다.

Equals(Object)

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

(다음에서 상속됨 Object)
Execute(NativeActivityContext)

파생 클래스에서 구현된 경우 활동의 실행 논리를 실행합니다.

GetHashCode()

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

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

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

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

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

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

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

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

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

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

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

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

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

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

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

(다음에서 상속됨 Activity)
UpdateInstance(NativeActivityUpdateContext)

NativeActivity의 인스턴스를 업데이트합니다.

적용 대상