Share via


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

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 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. RemainderOutArgument<T> digunakan untuk mengeluarkan sisa pembagian, dan Result argumen output yang disediakan oleh Activity<TResult> aktivitas turunan digunakan untuk mengeluarkan quotient.

Catatan

Jika aktivitas kustom Anda berasal dari generik CodeActivity<TResult> dengan Int32 sebagai argumen 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 yang dikembalikan.

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

ResultValue

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

(Diperoleh dari Argument)

Properti

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 iniOutArgument<T>.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
FromDelegateArgument(DelegateArgument)

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

FromExpression(Activity<Location<T>>)

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

FromVariable(Variable)

Menginisialisasi dan mengembalikan konstruksi baru OutArgument<T> menggunakan yang ditentukan 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 instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(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

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

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

Implicit(DelegateArgument to OutArgument<T>)

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

Implicit(Variable to OutArgument<T>)

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

Berlaku untuk