Вы, вероятно, не хотите отображать диалоги сообщений из вашей dll, это работа клиентского приложения, как часть уровня представления.
. Библиотечные сборки .Net обычно всплывают в исключениях для хост-приложения, поэтому такой подход я бы рассмотрел.
public static class LibraryClass
{
public static void DoSomething(int positiveInteger)
{
if (positiveInteger < 0)
{
throw new ArgumentException("Expected a positive number", "positiveInteger");
}
}
}
Тогда ваше приложение хоста должно обрабатывать эти исключения, регистрируя и отображая их соответствующим образом.
try
{
LibraryClass.DoSomething(-3);
}
catch(ArgumentException argExc)
{
MessageBox.Show("An Error occurred: " + argExc.ToString());
}