Dil

OutArgument<T> Sınıf

Tanım

Bir etkinlikten veri akışını temsil eden bağlama terminali.

generic <typename T>
public ref class OutArgument sealed : System::Activities::OutArgument
[System.ComponentModel.TypeConverter(typeof(System.Activities.XamlIntegration.OutArgumentConverter))]
[System.Windows.Markup.ContentProperty("Expression")]
public sealed class OutArgument<T> : System.Activities.OutArgument
[<System.ComponentModel.TypeConverter(typeof(System.Activities.XamlIntegration.OutArgumentConverter))>]
[<System.Windows.Markup.ContentProperty("Expression")>]
type OutArgument<'T> = class
    inherit OutArgument
Public NotInheritable Class OutArgument(Of T)
Inherits OutArgument

Tür Parametreleri

T

veri türü OutArgument<T>.

Devralma
OutArgument<T>
Öznitelikler

Örnekler

Aşağıdaki kod örneği, oluşturma OutArgument<T>işlemini gösterir. Bu örnek, Biçimlendirici örneğinden alınmalıdır.

Sequence workflow = new Sequence
{
    Variables = { mealExpense, result },
    Activities =
        {
            new Assign<Expense>
            {
               Value = new InArgument<Expense>( (e) => new Meal { Amount = 50, Location = "Redmond", Vendor = "KFC" }),
               To = new OutArgument<Expense>(mealExpense)
            },
            new WriteLine
            {
                Text = new InArgument<string>("Hello")
            },
            approveExpense,
            new ReceiveReply
            {
                Request = approveExpense,
                Content = ReceiveContent.Create(new OutArgument<bool>(result))
            },

            new If
            {
               Condition = new InArgument<bool> (result),
               Then =
                    new WriteLine
                    {
                        Text = new InArgument<string>("Expense Approved")
                    },
               Else =
                    new WriteLine
                    {
                        Text = new InArgument<string>("Expense Cannot be Approved")
                    },
            },
        }
};

Açıklamalar

bir OutArgument<T> etkinlikten veri akışı yapmak için kullanılır. Etkinlik bir iş akışının kök etkinliğiyse, iş akışından iş akışı konağına veri akışı yapmak için de kullanılır. Bu örnekte, bir iş akışının kök etkinliği olarak iki giriş bağımsız değişkeni ve bir çıkış bağımsız değişkeni olan özel Divide bir etkinlik kullanılır. Konak uygulaması iş akışına iki değer geçirir ve iş akışı tamamlandıktan sonra bölmenin sonucunu alır.

int dividend = 500;
int divisor = 36;

Dictionary<string, object> arguments = new Dictionary<string, object>();
arguments.Add("Dividend", dividend);
arguments.Add("Divisor", divisor);

IDictionary<string, object> outputs =
    WorkflowInvoker.Invoke(new Divide(), arguments);

Console.WriteLine("{0} / {1} = {2} Remainder {3}",
    dividend, divisor, outputs["Result"], outputs["Remainder"]);

Etkinlik, Divide giriş değerlerini almak ve hesaplanan sonuç değerlerini sağlamak için bağımsız değişkenleri kullanır. Remainder OutArgument<T> bölümün geri kalanını geçirmek için kullanılır ve Result türetilmiş etkinlikler tarafından Activity<TResult> sağlanan çıkış bağımsız değişkeni bölümü geçirmek için kullanılır.

Note

Özel etkinliğiniz genel türünde bağımsız CodeActivity<TResult> değişkeniyle genelden Int32 türetilirse, Invoke yöntemiyle WorkflowInvoker etkinliği çağırdığınızda bir Int32 değer döndürür. Buna ek olarak, CodeActivity<TResult>.Execute yöntemi yerine Int32 bir void değer döndürür ve bir dönüş değeri ayarlamanız gerekmez.

public sealed class Divide : CodeActivity
{
    [RequiredArgument]
    public InArgument<int> Dividend { get; set; }

    [RequiredArgument]
    public InArgument<int> Divisor { get; set; }

    public OutArgument<int> Remainder { get; set; }
    public OutArgument<int> Result { get; set; }

    protected override void Execute(CodeActivityContext context)
    {
        int quotient = Dividend.Get(context) / Divisor.Get(context);
        int remainder = Dividend.Get(context) % Divisor.Get(context);

        Result.Set(context, quotient);
        Remainder.Set(context, remainder);
    }
}

Oluşturucular

Name Description
OutArgument<T>()

Varsayılan değerleri kullanarak sınıfın OutArgument<T> yeni bir örneğini başlatın.

OutArgument<T>(Activity<Location<T>>)

Belirtilen OutArgument<T>öğesini kullanarak sınıfının yeni bir örneğini Activity<TResult> başlatır.

OutArgument<T>(DelegateArgument)

Belirtilen OutArgument<T>öğesini kullanarak sınıfının yeni bir örneğini DelegateArgument başlatır.

OutArgument<T>(Expression<Func<ActivityContext,T>>)

Belirtilen ifadeyi OutArgument<T> kullanarak sınıfının yeni bir örneğini başlatır.

OutArgument<T>(Variable)

Belirtilen OutArgument<T>öğesini kullanarak sınıfının yeni bir örneğini Variable başlatır.

Alanlar

Name Description
ResultValue

ifade temel sınıfındaki Resulttürü OutArgument özelliğinin ActivityWithResult adına karşılık gelen "Result" sabit değerini temsil eder.

(Devralındığı yer: Argument)

Özellikler

Name Description
ArgumentType

Bu Argumentile ilişkili verilerin veri türünü alır.

(Devralındığı yer: Argument)
Direction

ArgumentDirection öğesinin bir etkinliğe veri akışını mı, etkinlik dışında mı Argument yoksa bir etkinliğe hem de etkinlikten içeri ve dışarı akışını mı temsil ettiğini belirten bir alır.

(Devralındığı yer: Argument)
EvaluationOrder

Bağımsız değişkenin değerlendirilme sırasını belirten sıfır tabanlı bir değer alır veya ayarlar.

(Devralındığı yer: Argument)
Expression

Bu Activity<TResult>değerini temsil eden bir OutArgument<T> alır.

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FromDelegateArgument(DelegateArgument)

Belirtilen OutArgument<T>kullanılarak yeni bir DelegateArgument oluşturur ve döndürür.

FromExpression(Activity<Location<T>>)

Belirtilen OutArgument<T>kullanılarak yeni bir Activity<TResult> oluşturur ve döndürür.

FromVariable(Variable)

Belirtilen OutArgument<T>kullanılarak yeni bir Variable oluşturur ve döndürür.

Get(ActivityContext)

Belirtilen etkinlik bağlamını OutArgument<T> kullanarak değerini alır.

Get<T>(ActivityContext)

Belirtilen tür ve etkinlik bağlamını kullanarak bağımsız değişkenin değerini alır.

(Devralındığı yer: Argument)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLocation(ActivityContext)

değerinin OutArgument<T>konumunu alır.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Set(ActivityContext, Object)

Belirtilen etkinlik bağlamını kullanarak bağımsız değişkenin değerini ayarlar.

(Devralındığı yer: Argument)
Set(ActivityContext, T)

OutArgument<T> değerini belirtilen etkinlik bağlamını kullanarak ayarlar.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

İşleçler

Name Description
Implicit(Activity<Location<T>> to OutArgument<T>)

Belirtilen OutArgument<T>kullanılarak yeni bir Activity<TResult> oluşturur ve döndürür.

Implicit(DelegateArgument to OutArgument<T>)

Belirtilen OutArgument<T>kullanılarak yeni bir DelegateArgument oluşturur ve döndürür.

Implicit(Variable to OutArgument<T>)

Belirtilen OutArgument<T>kullanılarak yeni bir Variable oluşturur ve döndürür.

Şunlara uygulanır