Exemple : Référencer la bibliothèque C# dans .mff
Cet exemple vous montre comment créer une bibliothèque C# d'échantillon et la référencer à un fichier MapForce Function File (.mff). Le fichier .mff peut ensuite être importé en tant que bibliothèque MapForce. Référencer une bibliothèque C# au format .mff ne constitue qu'un des moyens pour importer des bibliothèques C# dans MapForce. Une alternative plus simple est d'importer des .NET assemblies directement. Pour plus d'informations, voir Exemple : Importer un .NET DLL Assembly personnalisé.
Étapes de configuration
Pour référencer une bibliothèque C# dans un fichier .mff, suivez les instructions ci-dessous.
Note : | si vous voulez utiliser des fonctions .NET personnalisées dans l’aperçu de sortie built-in (dans le volet Sortie), ces fonctions doivent être compilées pour .NET Framework 4.x ou .NET Standard 2.0. |
Étape 1 : Créer une nouvelle bibliothèque de classe dans VS
Créer un nouveau projet de bibliothèque de classe dans Visual Studio. Veuillez noter que la fonction a été définie en tant que public static.
namespace MyLibrary
{
public class Greetings
{
public static string SayHello(bool isMorning)
{
if (isMorning)
return "Good morning!";
return "Good Day!";
}
}
}
Étape 2 : Ajouter une référence à Altova.dll
Si vous avez besoin de types de Schéma XML spéciaux (tels date et durée), ajoutez une référence depuis votre projet Visual Studio dans la bibliothèque Altova.dll. Pour obtenir cette bibliothèque, générez du code C# provenant d'un mappage sans fonctions personnalisées. Le fichier Altova.dll se trouvera dans le répertoire ..\Altova\bin\debug relatif au répertoire dans lequel le code a été généré. Pour ajouter la référence à Altova.dll dans Visual Studio, cliquez sur Ajouter référence dans le menu du Projet et recherchez Altova.dll. Puis, ajoutez la ligne utilisant Altova.Types; à votre code. Pour toute information sur le mappage des types de données de schéma XML dans les types C#, voir Mappage de type de données.
Étape 3 : Crééz votre projet VS
Créer votre projet Visual Studio. Le fichier MyLibrary.dll est généré dans votre répertoire de sortie de projet.
Étape 4.Créer un .mff et référencez votre bibliothèque C#
En utilisant un éditeur XML, créer un nouveau fichier .mff et valider le par rapport au schéma suivant : C:\Program Files\MapForceLibraries\mff.xsd. Assurez-vous que toutes les références sous implementation language="cs" pointent vers les membres C# et les chemins corrects créés précédemment. La ligne function name="SayHello" doit référer au nom de la fonction exactement tel qu'il a été défini dans C#. Pour les détails, voir Configurer le fichier .mff.
<?xml version="1.0" encoding="UTF-8"?>
<mapping version="9" library="mylib" 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="MyLibrary" />
<setting name="class" value="Greetings" />
<setting name="reference" value="C:\Libraries\cs\MyLibrary\bin\debug\MyLibrary.dll" />
</implementation>
</implementations>
<group name="string functions">
<component name="sayhello">
<sources>
<datapoint name="ismorning" type="xs:boolean"/>
</sources>
<targets>
<datapoint name="result" type="xs:string"/>
</targets>
<implementations>
<implementation language="cs">
<function name="SayHello"/>
</implementation>
</implementations>
<description>
<short>result = sayhello(ismorning)</short>
<long>Returns "Good morning" or "Good day", depending on the input parameter.</long>
</description>
</component>
</group>
</mapping>
Étape 5 : Importer le fichier .mff en tant que bibliothèque
Maintenant que notre bibliothèque personnalisée est référencée dans le fichier .mff, vous pouvez importer le fichier .mff dans MapForce en tant que bibliothèque. Pour plus d'informations, voir Importer les bibliothèques .mff.