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

Digunakan OutArgument<T> 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 kustom Divide 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 menggunakan Divide argumen untuk menerima nilai input dan untuk memberikan nilai hasil komputasi. Remainder OutArgument<T> digunakan untuk melewatkan sisa pembagian, dan Result argumen output yang disediakan oleh Activity<TResult> aktivitas turunan digunakan untuk melewatkan kuota.

Note

Jika aktivitas kustom Anda berasal dari generik CodeActivity<TResult> dengan Int32 argumen sebagai jenis generiknya, saat Anda memanggil aktivitas dengan WorkflowInvoker metode Panggil, aktivitas akan mengembalikan Int32 nilai. Selain itu, CodeActivity<TResult>.Execute metode akan mengembalikan Int32 nilai 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

Nama Deskripsi
OutArgument<T>()

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

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

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

OutArgument<T>(DelegateArgument)

Menginisialisasi instans OutArgument<T> baru kelas menggunakan DelegateArgument.

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

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

OutArgument<T>(Variable)

Menginisialisasi instans OutArgument<T> baru kelas menggunakan Variable.

Bidang

Nama Deskripsi
ResultValue

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

(Diperoleh dari Argument)

Properti

Nama Deskripsi
ArgumentType

Mendapatkan jenis data untuk data yang terikat ke ini Argument.

(Diperoleh dari Argument)
Direction

ArgumentDirection Mendapatkan 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

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

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
FromDelegateArgument(DelegateArgument)

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

FromExpression(Activity<Location<T>>)

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

FromVariable(Variable)

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

Get(ActivityContext)

Mendapatkan nilai menggunakan OutArgument<T> 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 menggunakan OutArgument<T> konteks aktivitas yang ditentukan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Operator

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

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

Implicit(DelegateArgument to OutArgument<T>)

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

Implicit(Variable to OutArgument<T>)

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

Berlaku untuk