2010-02-19 4 views
3

Même si nous n'importons pas d'espace de nom "Système", il est possible d'accéder à divers éléments inclus dans l'espace de noms "Système". comme les alias pour différents types (chaîne, simple, booléen, décimal ...), la classe d'objets, et aussi les fonctions de la classe d'objets. Ces éléments sont visibles via Intellisence. Et lorsque nous importons System Name-space (en utilisant System) nous avons accès à tous les types (System, Enum et beaucoup plus) ainsi qu'aux types réels (System.String, System.Float, etc.).éléments sont importés même sans importer l'espace de noms

Quelqu'un peut-il s'il vous plaît dire mon pourquoi est-ce?

Répondre

1

Les alias de type C# {bool, byte, char, décimal, double, flotteur, int, long, objet, sbyte, chaîne courte, uint, ulong, ushort} aren 't font partie de l'espace de noms BCL System, ils font en fait partie du langage C#

Il arrive juste que partout où vous utilisez "chaîne" comme un nom de type, le compilateur C# traite comme System.String lors de la compilation . Je crois (je peux bien me tromper!) Que les instructions using ne sont pas réellement transmises au MSIL que le compilateur produit, donc chaque référence au type "string" est explicitement listée comme "System.String" et chaque référence à StringBuilder (par exemple, dans une classe qui a "using System.Text;" est étendu à "System.Text.StringBuilder".)

+0

Merci Rob pour la réponse. J'ai eu la réponse à ma question. – Ananth

1

L'espace de noms de système est automatiquement importé:

« Le CLR comprendra l'espace de noms lorsque l'application ASP.NET est compilé Certains espaces de noms sont automatiquement importés dans les pages ASP.NET, de sorte que vous n'avez pas besoin d'utiliser. Importer pour que CLR les inclut System, System.Collections, System.IO, System.Web, System.Web.UI, System.Web.UI.HTMLControls et System.Web.UI.WebControls sont les espaces de noms qui seront toujours pris en compte par le CLR Un espace de noms comme System.Data, dont vous pourriez avoir besoin si vous travaillez avec des bases de données, doit être importé de manière explicite. "

http://www.redacron.com/tutorials/ASPNET/namespaces.php

Here's a related question you may be interested in.

+0

Merci John pour votre réponse.Mais je faisais référence à une situation où Iam supprimant tous les les importations par défaut ... Je n'ai aucune instruction "using" – Ananth

Questions connexes