Разница между public и internal модификаторами доступа заключается в уровне видимости элементов кода: 2
Таким образом, public модификатор обеспечивает широкий доступ к элементу кода, в то время как internal ограничивает доступ только в пределах одной сборки. 2
Выбор между этими модификаторами зависит от того, какие ограничения по видимости нужно установить для определённых частей кода.