2010-08-29 7 views
0

Je savais par here que nous devions effectuer les importations explicites pour l'espace de noms enfant car les importations n'incluraient pas l'espace de noms enfant. Mais ma question est que si je fais "imports System" s'il inclura toutes les classes/méthodes dans cet espace de noms dans le code IL/natif ou seulement référé (utilisé dans l'application) sera inclus dans le IL/code natif.Utilisation de "imports namespace"

+0

'Imports System' est VB.NET; si vous parlez C#, c'est ** 'using '**' System; – stakx

+0

Retaillé correctement maintenant. – Antoops

Répondre

2

L'importation d'un espace de nom ne signifie pas que quelque chose est inclus dans le code. Cela signifie seulement que le compilateur reconnaît les identifiants de cet espace de noms.

Les références de votre projet déterminent réellement les bibliothèques utilisées par l'application. Cependant, les bibliothèques sont chargées en cas de besoin, elles ne sont pas incluses dans votre fichier exécutable.

+0

donc à l'exécution, l'espace de noms référé sera entièrement chargé ou seules les classes requises seront chargées dans la mémoire? – Antoops

+0

@Antoops: Eh bien, la bibliothèque entière sera chargée, mais cela ne signifie pas nécessairement que toutes les classes doivent être exécutées par le compilateur JIT et créées. Cependant, certaines classes d'une bibliothèque s'appuient sur d'autres, donc plus de classes que vous utiliserez directement devront être créées. – Guffa