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
K toku dat z aktivity se používá OutArgument<T>. 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í aktivita Divide
, která má dva vstupní argumenty a jeden výstupní argument. 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.
Remainder
OutArgument<T> slouží k předání zbytku dělení a Result výstupní argument poskytnutý Activity<TResult> odvozenými aktivitami slouží k předání podílu.
Poznámka
Pokud je vaše vlastní aktivita odvozena od obecného CodeActivity<TResult> s Int32 jako argumentu obecného typu, při vyvolání aktivity pomocí metody WorkflowInvoker Invoke vrátí hodnotu Int32. Kromě toho metoda CodeActivity<TResult>.Execute vrátí hodnotu Int32 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
OutArgument<T>() |
Inicializuje novou instanci třídy OutArgument<T> pomocí výchozích hodnot. |
OutArgument<T>(Activity<Location<T>>) |
Inicializuje novou instanci třídy OutArgument<T> pomocí zadané Activity<TResult>. |
OutArgument<T>(DelegateArgument) |
Inicializuje novou instanci třídy OutArgument<T> 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 třídy OutArgument<T> pomocí zadané Variable. |
Pole
ResultValue |
Představuje konstantní hodnotu "Result", která odpovídá názvu vlastnosti Result typu OutArgument v základní třídě výrazu ActivityWithResult. (Zděděno od Argument) |
Vlastnosti
ArgumentType |
Získá datový typ pro data svázaná s tímto Argument. (Zděděno od Argument) |
Direction |
Získá ArgumentDirection, 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 |
Získá Activity<TResult>, který představuje hodnotu tohoto OutArgument<T>. |
Metody
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é DelegateArgument. |
FromExpression(Activity<Location<T>>) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané Activity<TResult>. |
FromVariable(Variable) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané Variable. |
Get(ActivityContext) |
Získá hodnotu OutArgument<T> pomocí zadaného 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>. |
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 OutArgument<T> pomocí zadaného kontextu aktivity. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Operátory
Implicit(Activity<Location<T>> to OutArgument<T>) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané Activity<TResult>. |
Implicit(DelegateArgument to OutArgument<T>) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané DelegateArgument. |
Implicit(Variable to OutArgument<T>) |
Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané Variable. |