OutArgument<T> Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Een bindingsterminal die de stroom van gegevens uit een activiteit vertegenwoordigt.
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
Type parameters
- T
Het gegevenstype van de OutArgument<T>.
- Overname
- Kenmerken
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u een OutArgument<T>. Dit voorbeeld is afkomstig uit het voorbeeld 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")
},
},
}
};
Opmerkingen
Een OutArgument<T> wordt gebruikt om gegevens uit een activiteit te stromen. Als de activiteit de hoofdactiviteit van een werkstroom is, wordt deze ook gebruikt om gegevens uit de werkstroom naar de werkstroomhost te stromen. In dit voorbeeld wordt een aangepaste Divide activiteit met twee invoerargumenten en één uitvoerargument gebruikt als hoofdactiviteit van een werkstroom. De hosttoepassing geeft twee waarden door aan de werkstroom en haalt vervolgens het resultaat van de deling op nadat de werkstroom is voltooid.
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"]);
De Divide activiteit gebruikt argumenten om de invoerwaarden te ontvangen en om de berekende resultaatwaarden op te geven. Het RemainderOutArgument<T> wordt gebruikt om de rest van de verdeling door te geven en het Result uitvoerargument dat wordt geleverd door Activity<TResult> afgeleide activiteiten, wordt gebruikt om het quotiënt uit te geven.
Note
Als uw aangepaste activiteit is afgeleid van het algemene CodeActivity<TResult> met een Int32 argument voor het algemene type, retourneert Int32 het een waarde wanneer u de activiteit aanroept met de WorkflowInvoker methode Aanroepen. Bovendien retourneert de CodeActivity<TResult>.Execute methode een Int32 waarde in plaats van void en hoeft u geen retourwaarde in te stellen.
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);
}
}
Constructors
| Name | Description |
|---|---|
| OutArgument<T>() |
Initialiseer een nieuw exemplaar van de OutArgument<T> klasse met behulp van standaardwaarden. |
| OutArgument<T>(Activity<Location<T>>) |
Initialiseert een nieuw exemplaar van de OutArgument<T> klasse met behulp van de opgegeven Activity<TResult>. |
| OutArgument<T>(DelegateArgument) |
Initialiseert een nieuw exemplaar van de OutArgument<T> klasse met behulp van de opgegeven DelegateArgument. |
| OutArgument<T>(Expression<Func<ActivityContext,T>>) |
Initialiseert een nieuw exemplaar van de OutArgument<T> klasse met behulp van de opgegeven expressie. |
| OutArgument<T>(Variable) |
Initialiseert een nieuw exemplaar van de OutArgument<T> klasse met behulp van de opgegeven Variable. |
Velden
| Name | Description |
|---|---|
| ResultValue |
Vertegenwoordigt de constante waarde van 'Resultaat', die overeenkomt met de naam van de eigenschap van het Result type OutArgument in de expressiebasisklasse ActivityWithResult. (Overgenomen van Argument) |
Eigenschappen
| Name | Description |
|---|---|
| ArgumentType |
Hiermee haalt u het gegevenstype op voor de gegevens die aan deze Argumentgegevens zijn gebonden. (Overgenomen van Argument) |
| Direction |
ArgumentDirection Hiermee wordt aangegeven of de Argument gegevensstroom naar een activiteit, van een activiteit of van en naar een activiteit wordt aangegeven. (Overgenomen van Argument) |
| EvaluationOrder |
Hiermee wordt een op nul gebaseerde waarde opgehaald of ingesteld waarmee de volgorde wordt opgegeven waarin het argument wordt geëvalueerd. (Overgenomen van Argument) |
| Expression |
Hiermee wordt een Activity<TResult> waarde opgehaald die de waarde van deze OutArgument<T>waarde vertegenwoordigt. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| FromDelegateArgument(DelegateArgument) |
Initialiseert en retourneert een nieuwe OutArgument<T> constructie met behulp van de opgegeven DelegateArgument. |
| FromExpression(Activity<Location<T>>) |
Initialiseert en retourneert een nieuwe OutArgument<T> constructie met behulp van de opgegeven Activity<TResult>. |
| FromVariable(Variable) |
Initialiseert en retourneert een nieuwe OutArgument<T> constructie met behulp van de opgegeven Variable. |
| Get(ActivityContext) |
Hiermee haalt u de waarde op van het OutArgument<T> gebruik van de opgegeven activiteitscontext. |
| Get<T>(ActivityContext) |
Hiermee haalt u de waarde van het argument op met behulp van het opgegeven type en de activiteitscontext. (Overgenomen van Argument) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetLocation(ActivityContext) |
Hiermee haalt u de locatie van de waarde voor de OutArgument<T>. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| Set(ActivityContext, Object) |
Hiermee stelt u de waarde van het argument in met behulp van de opgegeven activiteitscontext. (Overgenomen van Argument) |
| Set(ActivityContext, T) |
Hiermee stelt u de waarde van het OutArgument<T> gebruik van de opgegeven activiteitscontext in. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Operators
| Name | Description |
|---|---|
| Implicit(Activity<Location<T>> to OutArgument<T>) |
Initialiseert en retourneert een nieuwe OutArgument<T> constructie met behulp van de opgegeven Activity<TResult>. |
| Implicit(DelegateArgument to OutArgument<T>) |
Initialiseert en retourneert een nieuwe OutArgument<T> constructie met behulp van de opgegeven DelegateArgument. |
| Implicit(Variable to OutArgument<T>) |
Initialiseert en retourneert een nieuwe OutArgument<T> constructie met behulp van de opgegeven Variable. |