IndexerReference<TOperand,TItem> Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет элемент, на который ссылается индексатор объекта, который можно использовать в качестве левостороннего значения в выражении.
generic <typename TOperand, typename TItem>
public ref class IndexerReference sealed : System::Activities::CodeActivity<System::Activities::Location<TItem> ^>
[System.Windows.Markup.ContentProperty("Indices")]
public sealed class IndexerReference<TOperand,TItem> : System.Activities.CodeActivity<System.Activities.Location<TItem>>
[<System.Windows.Markup.ContentProperty("Indices")>]
type IndexerReference<'Operand, 'Item> = class
inherit CodeActivity<Location<'Item>>
Public NotInheritable Class IndexerReference(Of TOperand, TItem)
Inherits CodeActivity(Of Location(Of TItem))
Параметры типа
- TOperand
Тип в индексаторе.
- TItem
Тип массива индексатора.
- Наследование
-
CodeActivity<Location<TItem>>IndexerReference<TOperand,TItem>
- Атрибуты
Примеры
В следующем примере кода используется IndexerReference<TOperand,TItem> в действии Assign для присвоения целочисленного значения элементу объекта с индексом [1,2], и выводится значение элемента на консоль. Действие Assign аналогично приведенной ниже инструкции при использовании объекта, реализующего индексатор.
myObj[1,2] = 4; .
Примечание
Вместо того чтобы напрямую устанавливать действие выражения левостороннего значения IndexerReference<TOperand,TItem>, настоятельно рекомендуется вызвать метод ConvertReference, обеспечивающий более высокий уровень абстракции, за счет чего рабочий процесс можно сделать более наглядным.
// Define a class with a multi-dimensional indexer.
public class ObjectWithIndexer
{
private int[,] array = new int[10,10];
public int this[int i, int j]
{
get { return array[i,j]; }
set { array[i,j] = value; }
}
}
public static void IndexerReferenceSample()
{
// Create a variable of type ObjectWithIndexer to store the object item.
var oivar = new Variable<ObjectWithIndexer>("oivar", new ObjectWithIndexer());
Activity myActivity = new Sequence
{
Variables = { oivar },
Activities =
{
// Create an Assign activity with a reference for the object at index [1,2].
new Assign<int>
{
To = new IndexerReference<ObjectWithIndexer, int>
{
Operand = oivar,
Indices =
{
new InArgument<int>(1),
new InArgument<int>(2)
}
},
// Assign an integer value to the object at index [1,2].
Value = 4,
},
// Print the new item value to the console.
new WriteLine()
{
Text = ExpressionServices.Convert<string>(ctx => oivar.Get(ctx)[1, 2].ToString()),
}
}
};
// Invoke the Sequence activity.
WorkflowInvoker.Invoke(myActivity);
}
Конструкторы
| IndexerReference<TOperand,TItem>() |
Инициализирует новый экземпляр класса IndexerReference<TOperand,TItem>. |
Свойства
| CacheId |
Возвращает идентификатор кэша, уникальный в пределах области определения рабочего процесса. (Унаследовано от Activity) |
| Constraints |
Возвращает коллекцию действий Constraint, которые можно настроить для выполнения проверки the Activity. (Унаследовано от Activity) |
| DisplayName |
Возвращает или задает дополнительное понятное имя, используемое для отладки, проверки, обработки исключений и отслеживания. (Унаследовано от Activity) |
| Id |
Возвращает идентификатор, уникальный в пределах области определения рабочего процесса. (Унаследовано от Activity) |
| Implementation |
Не поддерживается. (Унаследовано от CodeActivity<TResult>) |
| ImplementationVersion |
Получает или задает версию реализации действия. (Унаследовано от CodeActivity<TResult>) |
| Indices |
Возвращает коллекцию аргументов, которые представляют индексы элемента в массиве индексатора. |
| Operand |
Возвращает или задает объект, содержащий индексатор. |
| Result |
Возвращает или задает результирующий аргумент для Activity<TResult>. (Унаследовано от Activity<TResult>) |
| ResultType |
При реализации в производном классе возвращает тип аргумента OutArgument действия. (Унаследовано от ActivityWithResult) |
Методы
| CacheMetadata(ActivityMetadata) |
Не реализован. Взамен рекомендуется использовать CacheMetadata(CodeActivityMetadata). (Унаследовано от CodeActivity<TResult>) |
| CacheMetadata(CodeActivityMetadata) |
Создает и проверяет описание аргументов, переменных, дочерних действий и делегатов действия. (Унаследовано от CodeActivity<TResult>) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Execute(CodeActivityContext) |
При реализации в производном классе выполняет действие. (Унаследовано от CodeActivity<TResult>) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Вызывает событие при создании сопоставления для динамического обновления. (Унаследовано от CodeActivity<TResult>) |
| ShouldSerializeDisplayName() |
Указывает, необходима ли сериализация свойства DisplayName. (Унаследовано от Activity) |
| ToString() |
Возвращает значение типа String, которое содержит Id и DisplayName для Activity. (Унаследовано от Activity) |