Я довольно новый разработчик С# и .Net. Недавно я создал Snapin MMC с использованием С# и был удовлетворен тем, как это было легко, особенно после прослушивания многих ужасных историй некоторых других разработчиков в моей организации о том, как трудно это сделать на С++.
В какой-то момент я в значительной степени прошел весь проект и сделал каждый экземпляр "общедоступного" ключевого слова "внутренним", за исключением случаев, требуемых средой выполнения, чтобы запустить snapin. Каково ваше отношение к этому, если вы вообще делаете классы и методы общедоступными или внутренними?