OutArgument<T> Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Terminál vazby, který představuje tok dat z aktivity.
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
Parametry typu
- T
Datový typ OutArgument<T>.
- Dědičnost
- Atributy
Příklady
Následující ukázka kódu ukazuje vytvoření .OutArgument<T> Tento příklad pochází z ukázky Formatteru.
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")
},
},
}
};
Poznámky
Slouží OutArgument<T> k toku dat z aktivity. Pokud je aktivita kořenovou aktivitou pracovního postupu, použije se také k toku dat z pracovního postupu do hostitele pracovního postupu. V tomto příkladu se jako kořenová aktivita pracovního postupu používá vlastní Divide aktivita se dvěma vstupními argumenty a jedním výstupním argumentem. Hostitelská aplikace předá do pracovního postupu dvě hodnoty a po dokončení pracovního postupu načte výsledek dělení.
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"]);
Aktivita Divide používá argumenty k příjmu vstupních hodnot a k poskytnutí vypočítaných výsledných hodnot. Slouží RemainderOutArgument<T> k předání zbytku dělení a Result výstupní argument poskytnutý odvozenými aktivitami Activity<TResult> se používá k předání podílu.
Note
Pokud je vaše vlastní aktivita odvozena od obecného CodeActivity<TResult> typu s argumentem Int32 obecného typu, při vyvolání aktivity pomocí WorkflowInvoker Invoke metoda vrátí Int32 hodnotu. Kromě toho CodeActivity<TResult>.Execute metoda vrátí Int32 hodnotu místo void a nemusíte nastavovat návratovou hodnotu.
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);
}
}
Konstruktory
| Name | Description |
|---|---|
| OutArgument<T>() |
Inicializuje novou instanci OutArgument<T> třídy pomocí výchozích hodnot. |
| OutArgument<T>(Activity<Location<T>>) |
Inicializuje novou instanci OutArgument<T> třídy pomocí zadané Activity<TResult>. |
| OutArgument<T>(DelegateArgument) |
Inicializuje novou instanci OutArgument<T> třídy pomocí zadané DelegateArgument. |
| OutArgument<T>(Expression<Func<ActivityContext,T>>) |
Inicializuje novou instanci OutArgument<T> třídy pomocí zadaného výrazu. |
| OutArgument<T>(Variable) |
Inicializuje novou instanci OutArgument<T> třídy pomocí zadané Variable. |
Pole
| Name | Description |
|---|---|
| ResultValue |
Představuje konstantní hodnotu "Result", která odpovídá názvu Result vlastnosti typu OutArgument v základní třídě ActivityWithResultvýrazu . (Zděděno od Argument) |
Vlastnosti
| Name | Description |
|---|---|
| ArgumentType |
Získá datový typ pro data svázaná s tímto Argument. (Zděděno od Argument) |
| Direction |
ArgumentDirection Získá, který určuje, zda Argument představuje tok dat do aktivity, mimo aktivitu, nebo do i mimo aktivitu. (Zděděno od Argument) |
| EvaluationOrder |
Získá nebo nastaví hodnotu založenou na nule, která určuje pořadí, ve kterém je argument vyhodnocen. (Zděděno od Argument) |
| Expression |
Activity<TResult> Získá, který představuje hodnotu tohoto OutArgument<T>. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| FromDelegateArgument(DelegateArgument) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadaného DelegateArgument. |
| FromExpression(Activity<Location<T>>) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadaného Activity<TResult>. |
| FromVariable(Variable) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadaného Variable. |
| Get(ActivityContext) |
Získá hodnotu pomocí zadaného OutArgument<T> kontextu aktivity. |
| Get<T>(ActivityContext) |
Získá hodnotu argumentu pomocí zadaného typu a kontextu aktivity. (Zděděno od Argument) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetLocation(ActivityContext) |
Získá umístění hodnoty pro OutArgument<T>hodnotu . |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Set(ActivityContext, Object) |
Nastaví hodnotu argumentu pomocí zadaného kontextu aktivity. (Zděděno od Argument) |
| Set(ActivityContext, T) |
Nastaví hodnotu pomocí zadaného OutArgument<T> kontextu aktivity. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Operátory
| Name | Description |
|---|---|
| Implicit(Activity<Location<T>> to OutArgument<T>) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadaného Activity<TResult>. |
| Implicit(DelegateArgument to OutArgument<T>) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadaného DelegateArgument. |
| Implicit(Variable to OutArgument<T>) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadaného Variable. |