Share via


Création de la classe d'implémentation à l'aide des attributs COM

Dans cette section, vous créez une classe d'implémentation qui implémente l'interface IExchangeUfl, puis vous configurez cette classe à l'aide des attributs COM.

Pour créer la classe d'implémentation

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit de la souris sur le nom du projet affiché en gras, pointez sur Ajouter, puis cliquez sur Classe.

  2. Dans le champ Nom, saisissez "ExchangeUfl", puis cliquez sur Ajouter.

  3. Modifiez la signature de classe pour implémenter l'interface IExchangeUfl.

    [Visual Basic]

    Public Class ExchangeUfl : Implements IExchangeUfl
    End Class
    

    [C#]

    public class ExchangeUfl : IExchangeUfl
    {
    }
    
  4. Au-dessus de la déclaration de classe, ajoutez l'instruction using/Imports suivante :

    [Visual Basic]

    Imports System.Runtime.InteropServices
    

    [C#]

    using System.Runtime.InteropServices;
    
  5. Dans le menu Outils, cliquez****sur Créer un GUID.

  6. Dans le panneau Format GUID de la boîte de dialogue Créer un GUID, sélectionnez Format du Registre.

  7. Cliquez sur Nouveau GUID.

  8. Cliquez sur Copier, puis fermez la boîte de dialogue.

  9. Au-dessus de la déclaration de classe, créez un attribut avec trois valeurs : ComVisible, ClassInterface et Guid (dans C#) ou GuidAttribute (dans Visual Basic) avec guillemets de chaîne de paramètre.

    **Remarque   **Dans Visual Basic, pour faciliter la lecture, ajoutez un caractère de soulignement après la balise de fermeture pour placer la classe sur la ligne suivante.

    [Visual Basic]

    <ComVisible(), ClassInterface(), GuidAttribute("")> _
    Public Class ExchangeUfl : Implements IExchangeUfl
    End Class
    

    [C#]

    [ComVisible(), ClassInterface(), Guid("")]
    public class ExchangeUfl : IExchangeUfl
    {
    }
    
  10. Saisissez la valeur de paramètre "True" [Visual Basic] ou "true" [C#] dans l'attribut ComVisible.

  11. Saisissez la valeur de paramètre "ClassInterfaceType.None" à partir de l'énumération ClassInterfaceType dans l'attribut ClassInterface.

  12. Collez la valeur GUID à partir du presse-papiers dans la valeur de paramètre de l'attribut Guid. Supprimez les accolades et les retours chariot.

    **Remarque   **N'utilisez pas le GUID fourni dans cet extrait de code. Créez un GUID unique pour votre classe.

    [Visual Basic]

    <ComVisible(True), ClassInterface(ClassInterfaceType.None), GuidAttribute("F5DCE88F-AD38-4a9a-9A69-0F8DC0EDB4E3")> _
    Public Class ExchangeUfl : Implements IExchangeUfl
    End Class
    

    [C#]

    [ComVisible(true), ClassInterface(ClassInterfaceType.None), Guid("F5DCE88F-AD38-4a9a-9A69-0F8DC0EDB4E3")]
    public class ExchangeUfl : IExchangeUfl
    {
    }
    
  13. Dans ExchangeUfl, remplissez la signature de méthode contractuelle avec une méthode public à partir de l'interface.

    **Remarque   **Ce sera le nom de la fonction exposée dans le Crystal Reports Designer incorporé.

    [Visual Basic]

    Public Function ConvertUSDollarsToCDN1(ByVal usd As Double) As Double Implements IExchangeUfl.ConvertUSDollarsToCDN
    End Function
    

    [C#]

    public double ConvertUSDollarsToCDN(double usd)
    {
    }
    
  14. Dans la méthode, créez un bloc conditionnel qui vérifie si le paramètre de la méthode usd est supérieur à Double.MaxValue.

    **Remarque   **Cette vérification est nécessaire pour éviter le risque de dépassement.

    [Visual Basic]

    If usd > Double.MaxValue Then
    End If
    

    [C#]

    if(usd > Double.MaxValue)
    {
    }
    
  15. Dans le bloc If, générez une exception qui indique que la valeur soumise est supérieure à la valeur maximale autorisée pour un double.

    [Visual Basic]

    Throw New Exception("La valeur soumise est supérieure à la valeur maximale autorisée pour un double.")
    

    [C#]

    throw new Exception("La valeur soumise est supérieure à la valeur maximale autorisée pour un double.");
    
  16. A la fin du bloc conditionnel, renvoyez le paramètre de la méthode usd multiplié par un taux de change de 1,45.

    [Visual Basic]

    Return (usd * 1.45)
    

    [C#]

    return (usd * 1.45);
    

    **Remarque   **Dans ce tutoriel, seul un calcul mathématique simple est effectué. Toutefois, vous pouvez placer n'importe quel code dans cette méthode. Par exemple, vous pourriez extraire un taux de change à partir d'un service bancaire sur le Web pour calculer dynamiquement le taux de change dans votre rapport.

  17. Dans le menu Fichier, cliquez sur Tout enregistrer.

  18. Fermez la fenêtre de la classe.

Dans la section suivante, vous allez affecter une clé de nom fort à la bibliothèque, puis compiler le projet.

Effectuez maintenant la procédure Attribution d'une clé de nom fort à la bibliothèque de classes.

Voir aussi

Création d'une bibliothèque de fonctions utilisateur | Tutoriels et exemples de code | Répertoire des exemples de code des tutoriels

Envoyez vos commentaires à Business Objects

© 2005 Business Objects SA. Tous droits réservés.

Business Objects
http://www.france.businessobjects.com/
Services du Support technique
http://www.businessobjects.com/support/