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 действий, которые можно настроить для проверки.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) |