2010-02-19 4 views
1

Есть ли способ для библиотеки классов обнаруживать, когда она загружена, чтобы выполнить некоторую инициализацию? Я пробовал добавить Program.cs со статическим основным методом, который не помог. Я попытался установить объект Startup в свойствах проекта, но доступен только (None).Обнаружение загрузки библиотеки классов

Я знаю, что библиотеки Win32 имеют точки входа, есть ли библиотеки классов .NET?

+0

Ваш вопрос непонятен. Вы ищете что-то, связанное с .net или windows? У .NET нет той же концепции загрузчика, что и библиотеки Windows. –

ответ

3

Вы не можете сделать это непосредственно на C# или VB.NET, но сама CLR поддерживает Module Initializers, и я думаю, это то, о чем вы просите. Обычно вам нужно использовать ilasm, чтобы вытащить его.

Похоже, что кто-то также выяснил способ использования do it in C# с использованием Mono.Cecil. Это все еще довольно сложно. Вам лучше использовать статический конструктор, если вы знаете, что какой-то конкретный тип будет указан, как только будет загружена сборка. В противном случае - удачи.

+0

См. Также http://www.yoda.arachsys.com/csharp/beforefieldinit.html – TrueWill

Смежные вопросы