Поделиться через


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

Тип массива индексатора.

Наследование
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)

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