Beispiel: Erstellen einer benutzerdefinierten C#-Bibliothek

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Funktionen > Manuelles Referenzieren von Java, C# und C++-Bibliotheken >

Beispiel: Erstellen einer benutzerdefinierten C#-Bibliothek

In diesem Kapitel wird beschrieben, wie Sie eine C#-Beispielbibliothek erstellen und die .mff-Datei so konfigurieren, dass sie im Fenster "Bibliotheken" von MapForce angezeigt wird.

 

1.Erstellen Sie ein neues Klassenbibliotheksprojekt in Visual Studio. Beachten Sie, dass die Funktion als public static definiert wurde.

 

using System;
 
namespace HelloWorldLibrary
{
  public class Greetings
  {
      public static string HelloFunction(bool GreetingType)
      {
          if (GreetingType)
              return "Hello World!";
          return "Hello User!";
      }
  }
}

 

2.Wenn Sie spezielle XML-Schematypen (wie z.B. date und duration) benötigen, müssen Sie eine Referenz von Ihrem Visual Studio-Projekt zur Altova.dll-Bibliothek hinzufügen. Um diese Bibliothek zu erhalten, generieren Sie C#-Code anhand eines Mappings ohne benutzerdefinierte Funktionen. Sie finden die Datei Altova.dll relativ zum Verzeichnis, in dem der Code generiert wurde, im Verzeichnis ..\Altova\bin\debug. Um die Referenz zu Altova.dll hinzuzufügen, klicken Sie in Visual Studio im Menü Projekt auf Verweis hinzufügen und navigieren Sie zur Datei Altova.dll. Fügen Sie außerdem Ihren Code zur folgenden Zeile hinzu: using Altova.Types; . Informationen dazu, wie Sie XML-Schematypen C#-Typen zuordnen, finden Sie unter Datentyp-Zuordnung.
3.Erzeugen Sie Ihr Visual Studio-Projekt mit Build. Die Datei HelloWorldLibrary.dll wird in Ihrem Projektausgabeverzeichnis generiert.
4.Erstellen Sie mit Hilfe eines XML-Editors eine neue .mff-Datei und validieren Sie diese anhand des Ordners ..\Programme\MapForceLibraries\mff.xsd. Stellen Sie sicher, dass der unten markierte Text auf die Datei HelloWorldLibrary.dll verweist. Nähere Informationen dazu finden Sie unter Konfigurieren der MFF-Datei.

 

<?xml version="1.0" encoding="UTF-8"?>
<mapping version="9" library="helloworld" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mff.xsd">
  <implementations>
    <implementation language="cs">
        <setting name="namespace" value="HelloWorldLibrary"/>
        <setting name="class" value="Greetings"/>
        <setting name="reference" value="C:\Projects\HelloWorldLibrary.dll"/>
    </implementation>
  </implementations>
  <group name="Greetings">
    <component name="HelloFunction">
        <sources>
          <datapoint name="greeting_type" type="xs:boolean"/>
        </sources>
        <targets>
          <datapoint name="result" type="xs:string" />
        </targets>
        <implementations>
          <implementation language="cs">
              <function name="HelloFunction"/>
          </implementation>          
        </implementations>
        <description>
          <short>result = hello(greeting_type)</short>
          <long>Returns a greeting according to the given greeting type.</long>
        </description>
    </component>
  </group>
</mapping>

 

Sie haben nun eine fertige benutzerdefinierte Bibliothek und die .mff-Datei für die Anpassung dieser an MapForce. Die benutzerdefinierte .mff-Datei kann nun in MapForce verwendet werden (siehe Importieren der .mff-Datei in MapForce).


© 2019 Altova GmbH