Я видел двойные двоеточия (::
) в сгенерированном коде. Мне было интересно, какова его цель?Какова цель :: в C#?
ответ
Это namespace alias qualifier operator. Приводя со страницы связного к MSDN:
Пространство имен псевдоним Классификатор (
::
) используется для поиска идентификаторов. Он всегда находится между двумя идентификаторами, как в этом примере:global::System.Console.WriteLine("Hello World");
Это оператор разрешения области видимости:
http://en.wikipedia.org/wiki/Scope_resolution_operator
Разрешение Сферы оператор (: :) в C++ используется для определения уже заявленных функций-членов (в файле заголовка с .hpp или расширение .h ) класса
Это пространство имен псевдонима классификатор. Он используется, когда есть потенциал для двух разных типов с тем же именем и тем же пространством имен (исходящих из разных сборок). Например. наш продукт ORM рассказывает о VistaDB 3 и VistaDB 4. В обоих случаях класс подключения - VistaDB.Provider.VistaDBConnection. Итак, мы установили сборку VistaDB 3 на vdb3
и сборку VistaDB 4 до vdb4
и теперь можем устранить классы подключения как vdb3::VistaDB.Provider.VistaDBConnection
и vdb4::VistaDB.Provider.VistaDBConnection
. Без квалификатора псевдонима они бы вызвали ошибки компилятора «неоднозначной ссылки».
Но вы не можете написать 'vdb3.VistaDB.Provider.VistaDBConnection' и' vdb4 :: VistaDB.Provider.VistaDBConnection' вместо этого? –
- 1. Какова цель «\ c» в perl?
- 2. Какова цель? оператора в C#?
- 3. Какова цель атрибутов в C#?
- 4. Какова цель "TypeName" в C++
- 5. Какова цель "?"
- 6. Какова цель этого объявления C++?
- 7. Какова цель этого тильда в C#
- 8. Какова цель фонового работника в C#?
- 9. Какова цель ключевого слова «this» в C#
- 10. Какова цель делегатов неизменна в C#?
- 11. Какова цель «динамического» ключевого слова в C#?
- 12. Какова цель «Контейнер c = getContentPane();» в Свинге?
- 13. Какова цель изменчивой функции-члена в C++?
- 14. C++ Какова цель литья в пустоту?
- 15. В C#, какова цель маркировки класса static?
- 16. Какова цель ключевого слова «base» в C#?
- 17. Какова цель & = и | = оператор в C#
- 18. Какова цель синтаксиса Function Pointer в C?
- 19. Какова цель ключевого слова «volatile» в C#
- 20. Какова цель методов Get & Set в C#?
- 21. Какова цель внешних статических конструкторов в C#?
- 22. Какова цель #! в URL
- 23. Какова цель «?» в Javascript?
- 24. Какова цель макросов?
- 25. Какова цель || Оператор []
- 26. Какова цель исключений?
- 27. Какова цель литья в «объект»?
- 28. Какова цель использования указателей?
- 29. Какова цель ObjectMapper?
- 30. Какова цель get: set?
Это достаточно приличный ответ, но вопросы, связанные с C#, а не C++, как указывает цитата. К счастью, использование оператора практически одинаково между языками –
Это не совсем «одно и то же»: в C++ он предназначен для определения функций-членов вне объявления класса, в C# - для неоднозначных имен типов. – itowlson
Согласно MSDN (http://msdn.microsoft.com/en-us/library/2hxce09y%28VS.80%29.aspx), оператор разрешения области для C#. not :: – Ferruccio