Conflit Namespace en C#

il y a un System espace de noms à l'intérieur de mon programme de l'espace de noms. Et en conséquence Je ne peux pas voir la norme System espace de noms de l'intérieur de la mine. Comment puis-je résoudre ce problème?

enter image description here

Par exemple, en C++ il y a le :: opérateur qui "passe" me sortir de mon espace de noms, afin que je puisse voir les espaces de noms avec le même nom que mon espace de noms courant:

enter image description here

y a-t-il un opérateur similaire dans C#?

33
demandé sur Steven Jeuris 2011-04-15 23:40:04

4 réponses

Vous devez utiliser le global mot clé. Cela force la résolution de l'espace de noms à commencer par le haut. Il est principalement utilisé dans le code généré pour être doublement sûr que le bon espace de nom est référencé.

 global::System.Foo.Bar;

Certains documentation MSDN: http://msdn.microsoft.com/en-us/library/c3ay4x3d.aspx

75
répondu Matt Greer 2012-07-16 14:15:21

Pour plus de commodité, vous pouvez lui donner un alias, trop:

using GSystem = global::System;

vous permettra de faire référence à la System espace GSystem ou ce que vous voulez l'appeler.

12
répondu Ry- 2011-04-15 19:46:44

oui

global::System

C'est étrange que vous ayez un conflit avec le système.

rien ne devrait déclarer que l'espace de noms excepté le système lui-même....

4
répondu James Kyburz 2011-04-15 19:43:17

Vous pouvez utiliser global

4
répondu Sergey Teplyakov 2011-04-15 19:43:27