Подтвердить что ты не робот

Какова цель:: в С#?

Я видел двойные двоеточия (::) в сгенерированном коде. Мне было интересно, какова его цель?

4b9b3361

Ответ 1

Это оператор описания псевдонима пространства имен. Цитирование со страницы, связанной с MSDN:

Определяющий идентификатор псевдонима (::) используется для определения идентификаторов. Он всегда расположен между двумя идентификаторами, как в этом примере:

global::System.Console.WriteLine("Hello World");

Ответ 2

Это спецификатор псевдонимов псевдонимов. Он используется, когда есть потенциал для двух разных типов с тем же именем и тем же пространством имен (исходящих из разных сборок). Например. наш продукт ORM рассказывает о VistaDB 3 и VistaDB 4. В обоих случаях класс подключения - VistaDB.Provider.VistaDBConnection. Итак, мы extern alias сборку VistaDB 3 с vdb3 и сборку VistaDB 4 на vdb4 и теперь можем устранить классы подключения как vdb3::VistaDB.Provider.VistaDBConnection и vdb4::VistaDB.Provider.VistaDBConnection. Без квалификатора псевдонима они могут вызвать ошибки компилятора "двусмысленной ссылки".

Ответ 3

Это оператор разрешения области:

http://en.wikipedia.org/wiki/Scope_resolution_operator

Оператор разрешения области (::) в С++ используется для определения уже объявленные функции-члены (в файл заголовка с .hpp или .h расширение) класса