Ihre Aktivität sollte von einer der folgenden Basisklassen ableiten
- CodeActivity
- NativeActivity
- AsyncCodeActivity
Beispiel "Skeleton" für eine CodeActivity:
Wichtigste Eigenschaften:
- InArgumente: Eingehende Argumente
- OutArgumente : Ausgehende Argumente
- CacheMetadata(CodeActivityMetadata): Validierung zur Design Zeit
- Execute(CodeActivityContext): Implementierung der Aktivität
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
using System.Activities; namespace CodeActivity { public class HelloworldActivity : System.Activities.CodeActivity { public HelloworldActivity() { DisplayName = "Hello-World Aktivität"; } // InArgumente public InArgument<string> Text { get; set; } // OutArgumente public OutArgument<string> Result { get; set; } // Optional: Validierung zur Design Time protected override void CacheMetadata(CodeActivityMetadata a_oMetadata) { if (Text?.Expression == null) a_oMetadata.AddValidationError("Geben Sie etwas ein"); } // Methode die aufgerufen wird, wenn die Aktivität ausgeführt wird. protected override void Execute(CodeActivityContext a_oContext) { // TODO } } } |
Beispiel "Skeleton" für eine AsyncCodeActivity:
Wichtigste Eigenschaften:
- InArgumente: Eingehende Argumente
- OutArgumente : Ausgehende Argumente
- CacheMetadata(CodeActivityMetadata): Validierung zur Design Zeit
- BeginExecute(AsyncCodeActivityContext, IAsyncResult): Start des asyncronen Aufrufs
- EndExecute(AsyncCodeActivityContext, IAsyncResult): Ende des asyncronen Aufrufs
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
using System; using System.Activities; namespace AsyncCodeActivity { public class HelloworldActivity : System.Activities.AsyncCodeActivity { public HelloworldActivity() { DisplayName = "Hello-World Aktivität"; } // InArgumente public InArgument<string> Text { get; set; } // OutArgumente public OutArgument<string> Result { get; set; } // Optional: Validierung zur Design Time protected override void CacheMetadata(CodeActivityMetadata a_oMetadata) { if (Text?.Expression == null) a_oMetadata.AddValidationError("Geben Sie etwas ein"); } protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state) { // TODO // Start des asyncronen Aufrufs } protected override void EndExecute(AsyncCodeActivityContext context, IAsyncResult result) { // TODO // callback des asyncronen Aufrufs } } } |
Beispiel "Skeleton" für eine NativeActivity:
Wichtigste Eigenschaften:
- InArgumente: Eingehende Argumente
- OutArgumente : Ausgehende Argumente
- CacheMetadata(NativeActivityMetadata): Validierung zur Design Zeit
- Execute(NativeActivityContext): Implementierung der Aktivität
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
using System.Activities; namespace NativeActivity { public class HelloworldActivity : System.Activities.NativeActivity { public HelloworldActivity() { DisplayName = "Hello-World Aktivität"; } // InArgumente public InArgument<string> Text { get; set; } // OutArgumente public OutArgument<string> Result { get; set; } // Optional: Validierung zur Design Time protected override void CacheMetadata(NativeActivityMetadata a_oMetadata) { if (Text?.Expression == null) a_oMetadata.AddValidationError("Geben Sie etwas ein"); } // Methode die aufgerufen wird, wenn die Aktivität ausgeführt wird. protected override void Execute(NativeActivityContext a_oContext) { // TODO } } } |