Sdílet prostřednictvím


IndexerReference<TOperand,TItem> Třída

Definice

Představuje prvek odkazovaný indexerem objektů, který lze použít jako l-hodnotu ve výrazu.

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

Parametry typu

TOperand

Typ s indexerem.

TItem

Typ pole indexeru.

Dědičnost
IndexerReference<TOperand,TItem>
Atributy

Příklady

Následující příklad kódu používá IndexerReference<TOperand,TItem> v aktivitě Assign k přiřazení celočíselné hodnoty k položce objektu v indexu [1,2] a vypíše hodnotu položky do konzoly. Aktivita Assign je ekvivalentní následujícímu příkazu při použití objektu, který implementuje indexer. myObj[1,2] = 4; .

Poznámka

Místo přímé instance aktivity výrazu IndexerReference<TOperand,TItem> l-hodnoty se důrazně doporučuje volat ConvertReferencemetodu , která poskytuje vyšší úroveň abstrakce a umožňuje intuitivnější implementaci pracovního postupu.

// 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);  
}  

Konstruktory

IndexerReference<TOperand,TItem>()

Inicializuje novou instanci IndexerReference<TOperand,TItem> třídy .

Vlastnosti

CacheId

Získá identifikátor mezipaměti, který je jedinečný v rámci oboru definice pracovního postupu.

(Zděděno od Activity)
Constraints

Získá kolekci Constraint aktivit, které lze nakonfigurovat tak, aby poskytovaly ověřování pro Activity.

(Zděděno od Activity)
DisplayName

Získá nebo nastaví volitelný popisný název, který se používá pro ladění, ověřování, zpracování výjimek a sledování.

(Zděděno od Activity)
Id

Získá identifikátor, který je jedinečný v oboru definice pracovního postupu.

(Zděděno od Activity)
Implementation

Nepodporováno

(Zděděno od CodeActivity<TResult>)
ImplementationVersion

Získá nebo nastaví verzi implementace aktivity.

(Zděděno od CodeActivity<TResult>)
Indices

Získá kolekci argumentů, které představují indexy prvku v poli indexeru.

Operand

Získá nebo nastaví objekt, který obsahuje indexer.

Result

Získá nebo nastaví argument výsledku Activity<TResult>pro .

(Zděděno od Activity<TResult>)
ResultType

Při implementaci v odvozené třídě získá typ aktivity OutArgument.

(Zděděno od ActivityWithResult)

Metody

CacheMetadata(ActivityMetadata)

Není implementováno. Místo toho použijte CacheMetadata(CodeActivityMetadata).

(Zděděno od CodeActivity<TResult>)
CacheMetadata(CodeActivityMetadata)

Vytvoří a ověří popis argumentů aktivity, proměnných, podřízených aktivit a delegátů aktivit.

(Zděděno od CodeActivity<TResult>)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Execute(CodeActivityContext)

Při implementaci v odvozené třídě provádí provádění aktivity.

(Zděděno od CodeActivity<TResult>)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Vyvolá událost při vytváření mapy pro dynamickou aktualizaci.

(Zděděno od CodeActivity<TResult>)
ShouldSerializeDisplayName()

Určuje, zda DisplayName má být vlastnost serializována.

(Zděděno od Activity)
ToString()

Vrátí hodnotu , String která obsahuje Id a DisplayName objektu Activity.

(Zděděno od Activity)

Platí pro