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) |