Switch<T> Класс

Определение

Выбирает для выполнения одно действие из нескольких в зависимости от значения указанного выражения типа, заданного в этом описателе типа объекта.

generic <typename T>
public ref class Switch sealed : System::Activities::NativeActivity
[System.Windows.Markup.ContentProperty("Cases")]
public sealed class Switch<T> : System.Activities.NativeActivity
[<System.Windows.Markup.ContentProperty("Cases")>]
type Switch<'T> = class
    inherit NativeActivity
Public NotInheritable Class Switch(Of T)
Inherits NativeActivity

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

T

Тип значений в коллекции Cases.

Наследование
Атрибуты

Примеры

В следующем образце кода показано создание действия Switch<T>.

// check if the number is ok...
new Switch<int>()
{
    DisplayName = "Verify Value from User",
    Expression = ExpressionServices.Convert<int>( env => numberFromUser.Get(env).CompareTo(numberToGuess.Get(env)) ),
    Cases =
    {
        { 0, new Assign<bool>()
            {
                To = new OutArgument<bool>(finished),
                Value = true
            }
        },
        {  1, new WriteLine() { Text = "    Try a lower number number..." } },
        { -1, new WriteLine() { Text = "    Try a higher number" } }
    }
}

Комментарии

Каждый проверяемый вариант в словаре Cases состоит из значения (выступающего в качестве ключа для словаря) и действия (выступающего в качестве значения для словаря). Выражение Expression вычисляется и сравнивается с ключами в словаре Cases. Если обнаружено совпадение, выполняется соответствующее действие. Каждый ключ в словаре Cases должен быть уникальным в соответствии с компаратором на равенство словаря.

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

Switch<T>()

Создает новый экземпляр класса Switch<T>.

Switch<T>(Activity<T>)

Создает новый экземпляр класса Switch<T> с указанным выражением.

Switch<T>(Expression<Func<ActivityContext,T>>)

Создает новый экземпляр класса Switch<T> с указанным выражением.

Switch<T>(InArgument<T>)

Создает новый экземпляр класса Switch<T> с указанным выражением.

Свойства

CacheId

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

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

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

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

Представляет словарь потенциальных путей выполнения. Каждая запись содержит ключ и действие, которое выполняется, когда результат выражения совпадает с ключом.

Constraints

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

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

Представляет действие, выполняемое, если ни один из ключей в записях коллекции Cases не согласуется со свойством Expression.

DisplayName

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

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

Возвращает объект для сравнения с ключами в коллекции Cases.

Id

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

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

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

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

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

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

Методы

Abort(NativeActivityAbortContext)

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

(Унаследовано от NativeActivity)
CacheMetadata(ActivityMetadata)

Не реализован. Вместо этого рекомендуется использовать метод CacheMetadata(NativeActivityMetadata).

(Унаследовано от NativeActivity)
CacheMetadata(NativeActivityMetadata)

Создает и проверяет описание аргументов, переменных, дочерних действий и делегатов действия.

(Унаследовано от NativeActivity)
Cancel(NativeActivityContext)

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

(Унаследовано от NativeActivity)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Execute(NativeActivityContext)

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

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

Служит хэш-функцией по умолчанию.

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

Возвращает объект Type для текущего экземпляра.

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

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Вызывает событие при создании сопоставления для динамического обновления.

(Унаследовано от NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Вызывает событие при создании сопоставления для динамического обновления.

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

Указывает, необходима ли сериализация свойства DisplayName.

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

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

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

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

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

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