Bonjour;
je suis en train de créer une DLL DotNet [C#] et je voudrais savoir si on peut y définir un code automatiquement exécuté au chargement de la DLL (une sorte de constructeur de classe.
merci
Bonjour;
je suis en train de créer une DLL DotNet [C#] et je voudrais savoir si on peut y définir un code automatiquement exécuté au chargement de la DLL (une sorte de constructeur de classe.
merci
hein ?
Une assembly (ne pas confondre avec les DLL) peut être exécutable ou pas, cela dépend si un point d'entrée est défini (Main), mais à part ça, je ne vois pas de quoi tu veux parler...
Une assembly sans point d'entrée n'est une qu'une simple bibliothèque de classes, et chaque classe possède ou non un constructeur.
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Les dll windows possèdent une méthode DllMain qui est appelée lors du chargement de la dll en question, mais je ne pense pas que ça existe en .Net. C'est à dire qu'une assembly étant une dll windows je suppose qu'elle a bien une méthode DllMain (c'est à vérifier) mais que celle-ci n'est pas accessible/modifiable en .Net.
Dans la même idée une autre différence entre .Net et C++ c'est que les variables static ne sont éventuellement initialisées en .Net que lorsque le code est utilisé, alors qu'en C++ on a la garantie que ces variables seront initialisées, que la variable soit utilisée ou pas. C'est assez génant lorsqu'on veut faire des choses comme des "abstract factory" et qu'on a besoin d'enregistrer des classes auprés d'autres classes dés le chargement...
EDIT: aprés une petite recherche il semblerait que les dll .net ne sont pas des dll windows (elles n'ont pas le format d'une dll windows native) et que donc elle ne contiendrait même pas de fonction DllMain du tout.
Une DLL, c'est une (ou plusieurs) classes donc rien ne t'empêche d'avoir un (ou plusieurs) constructeurs et donc, de mettre du code dedans.
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
Partager