OutArgument<T> Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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. |