Namespaces in C#
RGeschrieben vonRiku Virtanen Vor über einer Woche aktualisiertVerwenden von Namespaces in Codeelementen
Namespaces in C# sind eine Möglichkeit, Klassennamen voneinander zu unterscheiden. Sie funktionieren auf die gleiche Weise wie Namespaces in C++ oder Pakete in Java. Die Idee ist, dass Sie zwei Klassen mit demselben Namen in einem Codeblock verwenden können, wenn Sie den Namespace definieren, zu dem die Klasse gehört. Darüber hinaus können Sie Klassen in jedem Codeblock verwenden, der sich im selben Namespace befindet, ohne auf den Namespace verweisen zu müssen. Ausführliche Informationen zu Namespaces in C# finden Sie unterC#-Dokumentation.
In Frends-Prozessen verfügbare Namespaces
Da Frends-Prozesse im Hintergrund lediglich C#-Quellcode sind, der in einem Agenten ausgeführt wird, wenn der Prozess läuft, haben diese Prozesse bereits einige Namespaces im Quellcode importiert. Eine Liste der importierten Namespaces finden Sie unterFrends-Dokumentation. Sie können Klassen aus diesen Namespaces verwenden, ohne auf den Namespace zu verweisen. Nehmen wir beispielsweise an, Sie möchten ein XML-Dokument in den Speicher einlesen, indem Sie denSystem.Xml.XmlDocumentKlasse. Wenn wir uns Frends Dokumentation ansehen, können wir sehen, dass der Namespace System.Xml bereits in Expressions verfügbar ist. Das bedeutet, dass wir ein Objekt der Klasse XmlDocument erstellen können, ohne auf den Namespace zu verweisen. Unten sehen Sie ein Beispiel.
Wenn der Namespace aus irgendeinem Grund nicht verfügbar wäre, müssten wir auf den vollständigen Namen der Klasse verweisen. Unten sehen Sie ein Beispiel.
Verwenden von Task-Klassen in Code-Elementen
Wenn Sie einem Prozess eine Aufgabe hinzufügen, wird der Aufgabencode Teil des gesamten Prozesscodes. Dies bedeutet auch, dass der Namespace, in dem sich der Aufgabencode befindet, dem Prozesscode hinzugefügt wird, sodass der Code die Klassenmethode der Aufgabe aufrufen kann. Von nun an ist es möglich, Klassen im Namespace der Aufgabe in jedem Codeelement oder -ausdruck zu verwenden. Nehmen wir beispielsweise an, Sie möchten einemFreunde.Web.RestRequestAufgaben werden dynamisch entsprechend den Daten ausgeführt, die Sie im Prozess erhalten. Die Beispieldaten könnten etwa so aussehen:
[{ "Schlüssel": "Inhaltstyp", "Wert": "application/json" }, { "Schlüssel": "Autorisierung", "Wert": "Träger fnwnflösangflsGANGBAG" }]
Wir können diese Daten dann verwenden, um Header für die RestRequest-Aufgabe zu generieren. Wenn wir uns den Quellcode ansehen, können wir sehen, dass die Aufgabe dieKopfbereichKlasse, um Header an die Anfrage zu übergeben. Wir können ein Array von Objekten der Klasse Header erstellen und dieses Array dann an die Anfrage übergeben. Unten sehen Sie ein Beispiel für einen Prozess:
In diesem Prozess erstellen wir Demodaten unter Verwendung des obigen JSON-Beispiels. Dann erstellen wir ein Array von Header-Objekten, das wir dann in der RestRequest-Aufgabe verwenden. Sehen wir uns jeden Schritt im Detail an, damit Sie diesen Demoprozess replizieren können.
Im ersten Schritt erstellen wir eineJTokenObjekt aus den Demodaten, sodass wir die JSON-Daten problemlos im Prozess verwenden können.
Als nächstes erstellen wir eineListevon Header-Objekten, sodass wir der Liste dynamisch Objekte hinzufügen können, ohne die Größe des Arrays anzugeben. In diesem Ausdruck können Sie sehen, dass wir den Namespace verwenden, um zu definieren, von welcher Header-Klasse wir sprechen.
Als nächstes erstellen wir eine Foreach-Iteration, um die Demodaten zu iterieren.
In der Iteration erstellen wir ein neues Objekt der Header-Klasse und fügen es der Liste hinzu.
Zuletzt können wir die Header an die RestRequest-Aufgabe übergeben. Da die Aufgabe Header als Array von Header-Objekten annimmt, müssen wir die Liste der Header in ein Array übertragen. Dies lässt sich ganz einfach mit der Funktion der List-Klasse erledigen.ToArray()Methode. Beachten Sie auch, dass der Eingabetyp des Header-Felds von Array in Ausdruck geändert werden muss. Für die Registerkarte „Optionen“ der RestRequest-Aufgabe verwenden wir die Standardoptionen.
Jetzt haben wir eine dynamische Handhabung von Anforderungsheadern erstellt. Sie können denselben Ansatz in jedem Prozess verwenden, in dem Sie eine Aufgabe verwenden, da die Aufgabe im Prozess verwendet werden muss, um den Namespace in Codeelementen oder Ausdrücken verfügbar zu machen.
Der nächste Artikel istEinführung in Debugaufgaben in Visual Studio
Verwandte ArtikelEinführung in die Code-AnweisungEinführung in andere Techniken für HTTP-AnfragenEinführung in den LenkerEinführung in JSON-ObjekteEinführung in die Low-Code-Prozessentwicklung