Поделиться через


NativeActivity<TResult> Класс

Определение

Абстрактный базовый класс для пользовательских действий, в которых логика выполнения реализуется с помощью метода Execute(NativeActivityContext), который имеет полный доступ к возможностям среды выполнения.

generic <typename TResult>
public ref class NativeActivity abstract : System::Activities::Activity<TResult>
public abstract class NativeActivity<TResult> : System.Activities.Activity<TResult>
type NativeActivity<'Result> = class
    inherit Activity<'Result>
Public MustInherit Class NativeActivity(Of TResult)
Inherits Activity(Of TResult)

Параметры типа

TResult

Результат, возвращаемый действием.

Наследование
Производный

Примеры

В следующем образце кода показано создание класса, который наследует от NativeActivity<TResult>. Этот пример приведен на шаге Практическое руководство. Создание действияруководства по начало работы [платформа .NET Framework 4.5].

public sealed class ReadInt : NativeActivity<int>
{
    [RequiredArgument]
    public InArgument<string> BookmarkName { get; set; }

    protected override void Execute(NativeActivityContext context)
    {
        string name = BookmarkName.Get(context);

        if (string.IsNullOrEmpty(name))
        {
            throw new ArgumentException("BookmarkName cannot be an Empty string.",
                "BookmarkName");
        }

        context.CreateBookmark(name, new BookmarkCallback(OnReadComplete));
    }

    // NativeActivity derived activities that do asynchronous operations by calling
    // one of the CreateBookmark overloads defined on System.Activities.NativeActivityContext
    // must override the CanInduceIdle property and return true.
    protected override bool CanInduceIdle
    {
        get { return true; }
    }

    void OnReadComplete(NativeActivityContext context, Bookmark bookmark, object state)
    {
        this.Result.Set(context, Convert.ToInt32(state));
    }
}
Public NotInheritable Class ReadInt
    Inherits NativeActivity(Of Integer)
    
    <RequiredArgument()>
    Property BookmarkName() As InArgument(Of String)

    Protected Overrides Sub Execute(ByVal context As NativeActivityContext)
        Dim name As String
        name = BookmarkName.Get(context)

        If name = String.Empty Then
            Throw New ArgumentException("BookmarkName cannot be an Empty string.",
                "BookmarkName")
        End If

        context.CreateBookmark(name, New BookmarkCallback(AddressOf OnReadComplete))
    End Sub

    ' NativeActivity derived activities that do asynchronous operations by calling 
    ' one of the CreateBookmark overloads defined on System.Activities.NativeActivityContext 
    ' must override the CanInduceIdle property and return True.
    Protected Overrides ReadOnly Property CanInduceIdle As Boolean
        Get
            Return True
        End Get
    End Property

    Sub OnReadComplete(ByVal context As NativeActivityContext, ByVal bookmark As Bookmark, ByVal state As Object)
        Result.Set(context, Convert.ToInt32(state))
    End Sub

End Class

Конструкторы

NativeActivity<TResult>()

При реализации в производном классе создает новый экземпляр производного класса.

Свойства

CacheId

Возвращает идентификатор кэша, уникальный в пределах области определения рабочего процесса.

(Унаследовано от Activity)
CanInduceIdle

Возвращает или задает значение, указывающее, может ли действие вызывать простой рабочего процесса.

Constraints

Возвращает коллекцию действий Constraint, которые можно настроить для выполнения проверки the Activity.

(Унаследовано от Activity)
DisplayName

Возвращает или задает дополнительное понятное имя, используемое для отладки, проверки, обработки исключений и отслеживания.

(Унаследовано от Activity)
Id

Возвращает идентификатор, уникальный в пределах области определения рабочего процесса.

(Унаследовано от Activity)
Implementation

Логика выполнения действия.

ImplementationVersion

Получает или задает версию реализации действия.

ImplementationVersion

Получает или задает версию используемой реализации.

(Унаследовано от Activity)
Result

Возвращает или задает результирующий аргумент для Activity<TResult>.

(Унаследовано от Activity<TResult>)
ResultType

При реализации в производном классе возвращает тип аргумента OutArgument действия.

(Унаследовано от ActivityWithResult)

Методы

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.

(Унаследовано от Activity)
ToString()

Возвращает значение типа String, которое содержит Id и DisplayName для Activity.

(Унаследовано от Activity)
UpdateInstance(NativeActivityUpdateContext)

Обновляет экземпляр NativeActivity<TResult>.

Применяется к