Aracılığıyla paylaş


ExpressionServices.ConvertReference<TResult> Yöntem

Tanım

İş akışı ortamı kullanan bir ifadeye yapılan başvuruları etkinlik ağacına dönüştürür.

public:
generic <typename TResult>
 static System::Activities::Activity<System::Activities::Location<TResult> ^> ^ ConvertReference(System::Linq::Expressions::Expression<Func<System::Activities::ActivityContext ^, TResult> ^> ^ expression);
public static System.Activities.Activity<System.Activities.Location<TResult>> ConvertReference<TResult> (System.Linq.Expressions.Expression<Func<System.Activities.ActivityContext,TResult>> expression);
static member ConvertReference : System.Linq.Expressions.Expression<Func<System.Activities.ActivityContext, 'Result>> -> System.Activities.Activity<System.Activities.Location<'Result>>
Public Shared Function ConvertReference(Of TResult) (expression As Expression(Of Func(Of ActivityContext, TResult))) As Activity(Of Location(Of TResult))

Tür Parametreleri

TResult

İfadenin dönüştürüldüğü tür.

Parametreler

expression
Expression<Func<ActivityContext,TResult>>

Dönüştürülen ifade.

Döndürülenler

Activity<Location<TResult>>

Dönüştürülen ifade.

Örnekler

Aşağıdaki iki kod örneği ve Convertkullanımını ConvertReference göstermektedir. İlk kod örneği, bir Assign lambda ifadesini değer atanmış bir dize özelliğine dönüştürmek için bir etkinlikte kullanırConvertReference. Ardından, Convert bir lambda ifadesini etkinlikteki konsola yazdırılan bir dize özelliği değerine dönüştürmek için çağrılır WriteLine .

// Define a struct with a property named AProperty.  
struct StructWithProperty  
{  
    public string AProperty { get; set; }  
}  

public static void ConvertReferenceForValueTypePropertyReferenceSample()  
{              
    // Create a variable of type StructWithProperty to store the property.  
    var swpvar = new Variable<StructWithProperty>("swpvar", new StructWithProperty());  

    Activity myActivity = new Sequence  
    {  
        Variables = { swpvar },  
        Activities =   
        {                      
            // Create an Assign activity to assign a value to the AProperty property.  
            new Assign<string>  
            {  
                To = ExpressionServices.ConvertReference<string>(ctx => swpvar.Get(ctx).AProperty),  
                // Assign a string literal to AProperty.  
                Value = "Hello",  
            },  
            // Print the new property value to the console.  
            new WriteLine()  
            {  
                Text = ExpressionServices.Convert<string>(ctx => swpvar.Get(ctx).AProperty),  
            }  
        }  
    };  

    // Invoke the Sequence activity.  
    WorkflowInvoker.Invoke(myActivity);  
}  

Aşağıdaki kod örneği, dönüştürülecek ifadenin çok boyutlu dizideki bir öğeye başvuru olması dışında öncekine benzer.

public static void ConvertReferenceForMultidimensionalArrayItemReferenceSample()  
{  
    // Create a variable to store a multidimensional array.  
    var arrayvar = new Variable<int[,]>("arrayvar", new int[4, 5]);  

    Activity myActivity = new Sequence  
    {  
        Variables = { arrayvar },  
        Activities =   
        {                      
            // Create an Assign activity to assign a value to the array item at index [1,2].  
            new Assign<int>  
            {  
                To = ExpressionServices.ConvertReference<int>(ctx => arrayvar.Get(ctx)[1, 2]),  
                // Assign an integer value to the array item at row 1 column 2.  
                Value = 1,  
            },  
            // Print the array item value to the console.  
            new WriteLine()  
            {  
                Text = ExpressionServices.Convert<string>(ctx => arrayvar.Get(ctx)[1, 2].ToString()),  
            }  
        }  
    };  

    // Invoke the Sequence activity.  
    WorkflowInvoker.Invoke(myActivity);  
}  

Açıklamalar

içindeki ExpressionServices dönüştürme yöntemleri, iş akışı içinde tanımlanan değişkenler ve sabitlerle çalışacak şekilde tasarlanmıştır veya bağımsız değişkenler aracılığıyla iş akışına geçirilir.

Şunlara uygulanır