2010-02-19 4 views
1

Y at-il un moyen pour la bibliothèque de classes de détecter quand elle est chargée, afin d'effectuer une initialisation? J'ai essayé d'ajouter Program.cs avec la méthode statique, ce qui n'a pas aidé. J'ai essayé de définir l'objet Startup dans les propriétés du projet, mais seul (None) est disponible.Détection du chargement de la bibliothèque de classes

Je sais que les bibliothèques Win32 ont des points d'entrée, les bibliothèques de classes .NET en ont-elles?

+0

Votre question n'est pas claire. Cherchez-vous quelque chose en rapport avec .net ou windows? .NET n'a pas le même concept de chargeur que les bibliothèques Windows. –

Répondre

3

Vous ne pouvez pas le faire directement en C# ou VB.NET, mais le CLR lui-même prend en charge Module Initializers, ce que je pense est ce que vous demandez. Vous auriez normalement besoin d'utiliser ilasm afin de le retirer.

On dirait que quelqu'un a également trouvé un moyen de do it in C# en utilisant Mono.Cecil. C'est encore assez compliqué. Il vaut mieux utiliser un constructeur statique si vous savez qu'un type spécifique sera référencé dès que l'assemblage sera chargé. Sinon - bonne chance.

+0

Voir aussi http://www.yoda.arachsys.com/csharp/beforefieldinit.html – TrueWill

Questions connexes