Добавление ссылки на сборку нарушает доступ к защите внутренних классов?

Я пытаюсь понять использование внутренних в C#

Предполагая, что это определение "внутреннего" модификатора:

Элементы, которые определены с использованием внутренних модификаторов доступа, не могут получить доступ за пределами сборки, в которой они определены.

Несмотря на предыдущее определение, я могу получить доступ к внутренним классам, просто добавив имена сборок в раздел using. это нормально?

то есть:

//ExternalLib.cs
namespace ExternalLib
{
    internal class MyInternalClass
    {
        public int Num1 { get; set; } = 0;
        public int Num2 { get; set; } = 0;
    }
}

//Program.cs
using ExternalLib;
using mainNamespace;

namespace mainNamespace
{

    internal class Mathx
    {
        public int Sum()
        {
            MyInternalClass calcExternal = new MyInternalClass();
            return calcExternal.Num1 + calcExternal.Num2;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            //nothing here yet.
        }
    }
}

namespace oneAnotherNamespace
{
    class Mathxx : Mathx
    {
    }
}

0 ответов

Другие вопросы по тегам