Есть ли эквивалент Application_Start для библиотеки классов в c # - PullRequest
13 голосов
/ 05 октября 2011

Я хотел бы выполнить определенный код в библиотеке классов, когда он создается из другой сборки. Есть ли точка входа или начальная загрузка для библиотеки классов? Я думал, что статический метод Main поможет, но я ошибся. Приложениями для этого могут быть конфигурирование и создание единого экземпляра регистратора, обработчик необработанных исключений и т. Д.

Ответы [ 2 ]

1 голос
/ 30 декабря 2013

Вы смотрели в PreApplicationStartMethodAttribute ?

using System.Web;

[assembly: PreApplicationStartMethod(typeof(ClassLibrary.Startup), "Start")]

namespace ClassLibrary
{
    public class Startup
    {
        public static void Start()
        {
            // do some awesome stuff here!
        }
    }
}

Подробнее: http://dochoffiday.com/professional/simulate-application-start-in-class-library

0 голосов
/ 05 октября 2011

AppDomain.AssemblyLoad Событие , которое происходит при загрузке сборки. Возможно, это можно использовать для вызова метода инициализации в вашей библиотеке классов.

public static void Main() 
{
    AppDomain currentDomain = AppDomain.CurrentDomain;
    currentDomain.AssemblyLoad += new AssemblyLoadEventHandler(MyAssemblyLoadEventHandler);
}

static void MyAssemblyLoadEventHandler(object sender, AssemblyLoadEventArgs args) 
{
      Console.WriteLine("ASSEMBLY LOADED: " + args.LoadedAssembly.FullName);
      //If this is the assembly that you want to call an initialize method..
}

Ниже приведены две похожие темы

как написать обработчик событий загрузки / инициализации класса lib

.Net: запуск кода при загрузке сборки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...