Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

Version 1 Nächste Version anzeigen »

Fehlermeldungen der Workflow Engine

InvalidOperationException: Das Argument des Typs 'System.String' kann nicht verwendet werden. Stellen Sie sicher, dass es für eine Aktivität deklariert ist.

 Klicken Sie hier, um zu erweitern...

Alle Argumente (In oder Out) einer Aktivität müssen in der CacheMetadata-Methode deklariert werden. In der Regel übernimmt das die Basisklasse (CodeActivity bzw. NativeActivity).

→ Stellen Sie sicher, dass Sie in der CacheMetadata-Methode Ihrer Aktivität die BasisKlasse aufrufen.

→ Sie verwenden eine Auflistung an Argumente (z.B. List<InArgument> oder Dicitonary<string, OutArgument>) oder einen komplexen Typ mit weiteren Argumenten? Dann müssen Sie die Argumente selbst deklarieren.

public List<InArgument<string>> ListOfArguments { get; set; }

protected override void CacheMetadata(CodeActivityMetadata metadata)
{
	base.CacheMetadata(metadata);

    //!!! Liste mit Argumenten erst nach base.CacheMetadata setzen, da sie sonst verworfen werden !!!
    int i = 0;
    foreach (var argument in ListOfArguments)
    {
    	//Name muss eindeutig sein
        var argumentName = $"argument{++i}";
        var runtimeArg = new RuntimeArgument(argumentName, typeof(string), ArgumentDirection.In, false);
        metadata.Bind(argument, runtimeArg);
        metadata.AddArgument(runtimeArg);
    }
	
	protected override void Execute(CodeActivityContext a_oContext)
    {
    	foreach (InArgument<string> item in ListOfArguments)
        {
        	string s = item.Get(a_oContext);
        }
    }
}



  • Keine Stichwörter