OutArgument<T> 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
활동 외부의 데이터 흐름을 나타내는 바인딩 터미널입니다.
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
형식 매개 변수
- T
OutArgument<T>데이터 형식입니다.
- 상속
- 특성
예제
다음 코드 샘플에서는 OutArgument<T>만드는 방법을 보여 줍니다. 이 예제는 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")
},
},
}
};
설명
OutArgument<T> 활동에서 데이터를 흐를 때 사용됩니다. 활동이 워크플로의 루트 활동인 경우 워크플로에서 워크플로 호스트로 데이터를 이동하는 데도 사용됩니다. 이 예제에서는 두 개의 입력 인수와 하나의 출력 인수가 있는 사용자 지정 Divide
작업이 워크플로의 루트 활동으로 사용됩니다. 호스트 애플리케이션은 워크플로에 두 값을 전달한 다음 워크플로가 완료된 후 나누기의 결과를 검색합니다.
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"]);
Divide
작업은 인수를 사용하여 입력 값을 수신하고 계산된 결과 값을 제공합니다.
Remainder
OutArgument<T> 나누기의 나머지 부분을 전달하는 데 사용되며, Activity<TResult> 파생 작업에서 제공하는 Result 출력 인수는 몫을 전달하는 데 사용됩니다.
메모
사용자 지정 작업이 제네릭 형식 인수로 Int32 있는 제네릭 CodeActivity<TResult> 파생된 경우 WorkflowInvoker Invoke 메서드를 사용하여 활동을 호출하면 Int32 값이 반환됩니다. 또한 CodeActivity<TResult>.Execute 메서드는 void
대신 Int32 값을 반환하며 반환 값을 설정할 필요가 없습니다.
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);
}
}
생성자
OutArgument<T>() |
기본값을 사용하여 OutArgument<T> 클래스의 새 인스턴스를 초기화합니다. |
OutArgument<T>(Activity<Location<T>>) |
지정된 Activity<TResult>사용하여 OutArgument<T> 클래스의 새 인스턴스를 초기화합니다. |
OutArgument<T>(DelegateArgument) |
지정된 DelegateArgument사용하여 OutArgument<T> 클래스의 새 인스턴스를 초기화합니다. |
OutArgument<T>(Expression<Func<ActivityContext,T>>) |
지정된 식을 사용하여 OutArgument<T> 클래스의 새 인스턴스를 초기화합니다. |
OutArgument<T>(Variable) |
지정된 Variable사용하여 OutArgument<T> 클래스의 새 인스턴스를 초기화합니다. |
필드
ResultValue |
식 기본 클래스 ActivityWithResultOutArgument 형식의 Result 속성 이름에 해당하는 "Result"의 상수 값을 나타냅니다. (다음에서 상속됨 Argument) |
속성
ArgumentType |
이 Argument바인딩된 데이터의 데이터 형식을 가져옵니다. (다음에서 상속됨 Argument) |
Direction |
Argument 활동으로의 데이터 흐름을 나타내는지, 활동 외부로의 데이터 흐름을 나타내는지, 활동 안팎으로의 데이터 흐름을 나타내는지를 지정하는 ArgumentDirection 가져옵니다. (다음에서 상속됨 Argument) |
EvaluationOrder |
인수가 계산되는 순서를 지정하는 0부터 시작하는 값을 가져오거나 설정합니다. (다음에서 상속됨 Argument) |
Expression |
이 OutArgument<T>값을 나타내는 Activity<TResult> 가져옵니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
FromDelegateArgument(DelegateArgument) |
지정된 DelegateArgument사용하여 생성된 새 OutArgument<T> 초기화하고 반환합니다. |
FromExpression(Activity<Location<T>>) |
지정된 Activity<TResult>사용하여 생성된 새 OutArgument<T> 초기화하고 반환합니다. |
FromVariable(Variable) |
지정된 Variable사용하여 생성된 새 OutArgument<T> 초기화하고 반환합니다. |
Get(ActivityContext) |
지정된 활동 컨텍스트를 사용하여 OutArgument<T> 값을 가져옵니다. |
Get<T>(ActivityContext) |
지정된 형식 및 작업 컨텍스트를 사용하여 인수의 값을 가져옵니다. (다음에서 상속됨 Argument) |
GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
GetLocation(ActivityContext) |
OutArgument<T>값의 위치를 가져옵니다. |
GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
Set(ActivityContext, Object) |
지정된 작업 컨텍스트를 사용하여 인수의 값을 설정합니다. (다음에서 상속됨 Argument) |
Set(ActivityContext, T) |
지정된 활동 컨텍스트를 사용하여 OutArgument<T> 값을 설정합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
연산자
Implicit(Activity<Location<T>> to OutArgument<T>) |
지정된 Activity<TResult>사용하여 생성된 새 OutArgument<T> 초기화하고 반환합니다. |
Implicit(DelegateArgument to OutArgument<T>) |
지정된 DelegateArgument사용하여 생성된 새 OutArgument<T> 초기화하고 반환합니다. |
Implicit(Variable to OutArgument<T>) |
지정된 Variable사용하여 생성된 새 OutArgument<T> 초기화하고 반환합니다. |
적용 대상
.NET