ДОБАВЛЕННЫЙ
Возможно, это не самое забавное чтение и, конечно, не единственное чтение по этой теме, но при разработке библиотеки классов (вашего API) проверяйте его с помощью Design Рекомендации по разработке библиотек классов Время от времени рекомендуется иметь дизайн, который немного соответствует самой .NET Framework.
Сделайте свои методы, которые вы хотите показать внешнему миру общедоступными
.
Я нашел эту презентацию особенно проницательной:
Как проектировать хороший API и почему это важно
http://lcsd05.cs.tamu.edu/slides/keynote.pdf
Один из способов сделать это - создать DLL для ваших основных функций, которые будут использовать другие, и EXE, который вызывает методы в DLL. Если вы хотите, чтобы ваше приложение поддерживало плагины, обратите внимание на пространство имен System.AddIn .
Если вы хотите узнать, что нового в этой области, ознакомьтесь с Managed Extensibility Framework . Это новый / «унифицированный (см. Комментарии ...)» метод для раскрытия функций надстроек и другой расширяемости / модульности.