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>은 작업 외부로 데이터가 흐르도록 지정하는 데 사용됩니다. 작업이 워크플로의 루트 작업인 경우 이는 워크플로 외부에서 워크플로 호스트로 데이터가 흐르도록 지정하는 데에도 사용됩니다. 이 예제에서는 입력 인수가 2개이고 출력 인수가 1개인 사용자 지정 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> 나눈 나머지를 외부로 전달 하는 하며 Result 출력에서 제공 하는 인수 Activity<TResult> 파생된 활동 몫을 외부로 전달 하는 합니다.
참고
사용자 지정 작업이 해당 제네릭 형식 인수가 CodeActivity<TResult>인 제네릭 Int32에서 파생된 경우 WorkflowInvoker Invoke 메서드를 사용하여 작업을 호출하면 Int32 값을 반환합니다. 또한 합니다 CodeActivity<TResult>.Execute 메서드는 반환을 Int32 대신 값 void
및 반환 값을 설정할 필요가 없습니다.
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>>) |
지정된 OutArgument<T>를 사용하여 Activity<TResult> 클래스의 새 인스턴스를 초기화합니다. |
OutArgument<T>(DelegateArgument) |
지정된 OutArgument<T>를 사용하여 DelegateArgument 클래스의 새 인스턴스를 초기화합니다. |
OutArgument<T>(Expression<Func<ActivityContext,T>>) |
지정한 식을 사용하여 OutArgument<T> 클래스의 새 인스턴스를 초기화합니다. |
OutArgument<T>(Variable) |
지정된 OutArgument<T>를 사용하여 Variable 클래스의 새 인스턴스를 초기화합니다. |
필드
ResultValue |
식 기본 클래스 ActivityWithResult에서 OutArgument 형식의 Result 속성 이름에 해당하는 상수 값 "Result"를 나타냅니다. (다음에서 상속됨 Argument) |
속성
ArgumentType |
이 Argument로 바인딩된 데이터의 데이터 형식을 가져옵니다. (다음에서 상속됨 Argument) |
Direction |
ArgumentDirection가 작업 내부로의 데이터 흐름, 작업 외부로의 데이터 흐름 또는 작업 내부/외부로의 데이터 흐름을 나타내는지 여부를 지정하는 Argument을 가져옵니다. (다음에서 상속됨 Argument) |
EvaluationOrder |
인수를 평가하는 순서를 지정하는 0부터 시작하는 값을 가져오거나 설정합니다. (다음에서 상속됨 Argument) |
Expression |
이 Activity<TResult>의 값을 나타내는 OutArgument<T>를 가져옵니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
FromDelegateArgument(DelegateArgument) |
지정한 OutArgument<T>를 사용하여 생성된 새 DelegateArgument를 초기화하고 반환합니다. |
FromExpression(Activity<Location<T>>) |
지정한 OutArgument<T>를 사용하여 생성된 새 Activity<TResult>를 초기화하고 반환합니다. |
FromVariable(Variable) |
지정한 OutArgument<T>를 사용하여 생성된 새 Variable를 초기화하고 반환합니다. |
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>) |
지정한 OutArgument<T>를 사용하여 생성된 새 Activity<TResult>를 초기화하고 반환합니다. |
Implicit(DelegateArgument to OutArgument<T>) |
지정한 OutArgument<T>를 사용하여 생성된 새 DelegateArgument를 초기화하고 반환합니다. |
Implicit(Variable to OutArgument<T>) |
지정한 OutArgument<T>를 사용하여 생성된 새 Variable를 초기화하고 반환합니다. |
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기