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