Ich brauche ein Verfahren, das in einer externen Anordnung aus einem Skripterstellungsfunktoid in einer BizTalk Karte zu nennen, insbesondere ein Aufzählungstyp ein Parameter in einem C# Baugruppe ist. Ist das überhaupt möglich? Ich habe in Strings oder Ganzzahlen übergeben, während ich externe Baugruppen viele Male ohne Probleme aufgerufen habe.Aufruf eine Methode, die Objektparameter von einem BizTalk scripting hat Funktoid
Antwort
Leider kann man nicht Aufzählungstypen in Methoden konzipiert wurden aus dem Skripterstellungsfunktoid aufgerufen werden. Sie können jedoch fast erreichen, was Sie wollen, indem Sie einen Wrapper für die externe Methode erstellen.
Zum Beispiel kann das folgende Verfahren kann nicht direkt von einem Skripterstellungsfunktoid aufgerufen werden.
using System;
namespace ExternalAssembly
{
public enum Options
{
OptionNumberOne,
OptionNumberTwo,
}
public class Helper
{
public string DoSomething(Options option)
{
// really do something useful here
return String.Empty;
}
}
}
Der Versuch, diese Methode zu verwenden, bei dem folgenden Fehler führen:
Function 'ScriptNS0:DoSomething()' has failed. Value was either too large or too small for an Int32.
Wenn Sie jedoch die folgende Wrappermethode, wenn Werke schreiben:
public string DoSomething(string option)
{
return Helper.DoSomething(
(Options) Enum.Parse(typeof(Options), option)
);
}
Beachten Sie, dass die Hülle Methode verwendet einen regulären String-Parameter anstelle des ursprünglichen Aufzählungstyps Optionen. Wenn Sie den Quellcode für die Methode haben, die Sie aufrufen möchten, fügen Sie einfach diesen zusätzlichen Wrapper hinzu und überladen Sie und Sie sind fertig.
Danke, das scheint die einzige Lösung zu sein. Diese Art vereitelt jedoch den Zweck der Verwendung von Aufzählungen. – aceinthehole
- 1. Biztalk Database Lookup Funktoid und Value Extractor keine Übereinstimmung
- 2. Objektparameter in einem Konstruktor
- 3. Aufruf eines dynamischen REST-URI von Biztalk
- 4. Objektparameter in der Methode postNotification von NSNotificationCenter
- 5. Aufruf Methode von einem anderen ViewController
- 6. Aufruf von Methode aus einem React.JS-Status
- 7. Aufruf von Python von Java über Scripting Engine (jython)?
- 8. Aufruf Methode von Benutzereingabe
- 9. Hat jemand BizTalk mit QuickBooks verbunden?
- 10. Java - Objektparameter in Methode muss @Entity-Annotation haben
- 11. Ausnahmen von der Skripterstellung in BizTalk Map
- 12. Von Child Instanz Aufruf Basisklasse Methode, die
- 13. Der Aufruf der asynchronen Methode zum Laden von Daten im Konstruktor von viewmodel hat eine Warnung
- 14. Aufruf der Methode aus einem starken DSL
- 15. Scripting eine Grails App
- 16. Groovy metaclass, eine Service-Methode spöttisch, die hat throws-Klausel
- 17. BizTalk-Pipelines
- 18. Aufruf einer Methode in einem DockPanel Dokument
- 19. Aufruf einer Methode für eine Benutzerkontrolle in einem Repeater?
- 20. Zusammenführen von BizTalk-Bindungsdateien
- 21. Hat bootstrap eine Methode, die die versteckte Klasse anzeigt?
- 22. Aufruf AppDelegate-Methode von Klasse
- 23. Warum übernimmt Convert.ChangeType einen Objektparameter?
- 24. Hat die jQuery.clone-Methode Nebenwirkungen?
- 25. Wie erzwingen Aufruf eine C# abgeleitete Methode
- 26. Wie senden Sie mehrere Objekte mit demselben Status an eine Methode mit einem einzelnen Objektparameter mithilfe von Java?
- 27. BizTalk generierte XSD kann die XML nicht validieren, die von
- 28. Integration von BizTalk und SalesForce
- 29. Aufruf einer Methode von einem Controller innerhalb eines anderen
- 30. Aufruf einer übergeordneten Uiviewcontroller Methode von einem Kind Uiviewcontroller
Dies ist in der Tat durchaus möglich. Stellen Sie nur sicher, dass die Methode nicht als statisch deklariert ist und dass die Klasse über einen Standardkonstruktor verfügt. Dies sind die Anforderungen für das Skript-Funktoid. –
Tatsächlich liege ich falsch. Leider scheint dies nicht möglich zu sein. Das Skript-Funktoid ermöglicht nur reguläre Skalarparameter und Rückgabetypen für Methoden, die in externen Assemblys deklariert sind. Entschuldigung für den irreführenden Kommentar. –