Если я правильно понимаю, что вы ищете, у вас есть одна библиотека, которая выполняет обработку ошибок, но вы хотите, чтобы библиотека знала, является ли источник web, console, winforms и т. Д .?
Возможно, вы сможете использовать свойство в библиотеке, скажем перечисление, которое отслеживает тип приложений-потребителей. Например ...
ErrorLogger error = new ErrorLogger(ErrorLoggerAppType.WinForm);
ErrorLogger error = new ErrorLogger(ErrorLoggerAppType.Web);
ErrorLogger error = new ErrorLogger(ErrorLoggerAppType.Console);
РЕДАКТИРОВАТЬ
От Самира в комментариях ...
Кроме того, вы всегда можете просто иметь класс для каждого типа приложения, реализующего один и тот же интерфейс в вашей библиотеке регистрации ошибок.
Например, в веб-приложении вы используете:
WebErrorLogger error = new WebErrorLogger();