Dans une application Visual Basic .NET, existe-t-il un moyen d'utiliser Handles
sur un objet référencé dans une DLL écrite en C#? Compilant le code me donne l'erreur:Comment j'utilise la clause "Handles" de Visual Basic .NET avec une DLL écrite en utilisant C#?
'Handles' in modules must specify a 'WithEvents' variable qualified with a single identifier.
J'écris l'application Visual Basic .NET, mais j'ai le code source de la bibliothèque C# disponible.
Mon code actuel ressemble à ceci:
WithEvents Friend Module As ModuleNamespace.Module
Sub EventHandler() Handles Module.Events.Event1
Console.WriteLine("Event1 fired.")
End Sub
Remplacement Module
, ModuleNamespace
et Event1
avec les noms réels.
J'utilise AddHandler maintenant, mais je me demandais s'il y avait un moyen plus efficace/plus propre à atteindre le même objectif, que la liaison d'exécution n'est pas nécessaire pour mon application. – Hello71
À moins que vous n'ayez une variable de niveau de module comme MarkJ suggère que vous devrez appeler AddHandler vous-même. Lorsque vous utilisez WithEvents et Handles, le compilateur émet une propriété et appelle AddHandler lui-même dans le setter. –