Bagikan melalui


OutArgument<T> Kelas

Definisi

Terminal pengikatan yang mewakili aliran data dari aktivitas.

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

Jenis parameter

T

Jenis data OutArgument<T>.

Warisan
OutArgument<T>
Atribut

Contoh

Sampel kode berikut menunjukkan pembuatan OutArgument<T>. Contoh ini berasal dari sampel Formatter.

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")
                    },
            },
        }
};

Keterangan

OutArgument<T> digunakan untuk mengalirkan data dari aktivitas. Jika aktivitas adalah aktivitas akar alur kerja, maka aktivitas tersebut juga digunakan untuk mengalirkan data keluar dari alur kerja ke host alur kerja. Dalam contoh ini, aktivitas Divide kustom yang memiliki dua argumen input dan satu argumen output digunakan sebagai aktivitas akar alur kerja. Aplikasi host meneruskan dua nilai ke dalam alur kerja lalu mengambil hasil pembagian setelah alur kerja selesai.

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"]);

Aktivitas Divide menggunakan argumen untuk menerima nilai input dan untuk memberikan nilai hasil komputasi. Remainder OutArgument<T> digunakan untuk melewatkan sisa pembagian, dan argumen output Result yang disediakan oleh aktivitas turunan Activity<TResult> digunakan untuk melewatkan kuota.

Nota

Jika aktivitas kustom Anda berasal dari CodeActivity<TResult> generik dengan Int32 sebagai argumen jenis generiknya, saat Anda memanggil aktivitas dengan metode WorkflowInvoker Invoke, itu mengembalikan nilai Int32. Selain itu, metode CodeActivity<TResult>.Execute akan mengembalikan nilai Int32 alih-alih void dan Anda tidak perlu menetapkan nilai pengembalian.

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

Konstruktor

OutArgument<T>()

Menginisialisasi instans baru kelas OutArgument<T> menggunakan nilai default.

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

Menginisialisasi instans baru kelas OutArgument<T> menggunakan Activity<TResult>yang ditentukan .

OutArgument<T>(DelegateArgument)

Menginisialisasi instans baru kelas OutArgument<T> menggunakan DelegateArgumentyang ditentukan .

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

Menginisialisasi instans baru kelas OutArgument<T> menggunakan ekspresi yang ditentukan.

OutArgument<T>(Variable)

Menginisialisasi instans baru kelas OutArgument<T> menggunakan Variableyang ditentukan .

Bidang

ResultValue

Mewakili nilai konstanta "Hasil", yang sesuai dengan nama properti Result jenis OutArgument di kelas dasar ekspresi ActivityWithResult.

(Diperoleh dari Argument)

Properti

ArgumentType

Mendapatkan jenis data untuk data yang terikat ke Argumentini.

(Diperoleh dari Argument)
Direction

Mendapatkan ArgumentDirection yang menentukan apakah Argument mewakili aliran data ke dalam aktivitas, keluar dari aktivitas, atau masuk dan keluar dari aktivitas.

(Diperoleh dari Argument)
EvaluationOrder

Mendapatkan atau menetapkan nilai berbasis nol yang menentukan urutan evaluasi argumen.

(Diperoleh dari Argument)
Expression

Mendapatkan Activity<TResult> yang mewakili nilai OutArgument<T>ini.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
FromDelegateArgument(DelegateArgument)

Menginisialisasi dan mengembalikan OutArgument<T> baru yang dibangun menggunakan DelegateArgumentyang ditentukan .

FromExpression(Activity<Location<T>>)

Menginisialisasi dan mengembalikan OutArgument<T> baru yang dibangun menggunakan Activity<TResult>yang ditentukan .

FromVariable(Variable)

Menginisialisasi dan mengembalikan OutArgument<T> baru yang dibangun menggunakan Variableyang ditentukan .

Get(ActivityContext)

Mendapatkan nilai OutArgument<T> menggunakan konteks aktivitas yang ditentukan.

Get<T>(ActivityContext)

Mendapatkan nilai argumen menggunakan jenis dan konteks aktivitas yang ditentukan.

(Diperoleh dari Argument)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLocation(ActivityContext)

Mendapatkan lokasi nilai untuk OutArgument<T>.

GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
Set(ActivityContext, Object)

Mengatur nilai argumen menggunakan konteks aktivitas yang ditentukan.

(Diperoleh dari Argument)
Set(ActivityContext, T)

Mengatur nilai OutArgument<T> menggunakan konteks aktivitas yang ditentukan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Operator

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

Menginisialisasi dan mengembalikan OutArgument<T> baru yang dibangun menggunakan Activity<TResult>yang ditentukan .

Implicit(DelegateArgument to OutArgument<T>)

Menginisialisasi dan mengembalikan OutArgument<T> baru yang dibangun menggunakan DelegateArgumentyang ditentukan .

Implicit(Variable to OutArgument<T>)

Menginisialisasi dan mengembalikan OutArgument<T> baru yang dibangun menggunakan Variableyang ditentukan .

Berlaku untuk