Voglio sapere la differenza per questo codice
So che il codice qui sotto contiene spazi dei nomi
using SampleAngularApp.Models;
using System;
using System.Collections.Generic;
e so anche che il codice seguente contiene uno spazio dei nomi
namespace SampleAngularApp.Controllers
{
.......
}
Qual è la differenza tra questi due tipi di spazi dei nomi?
risposte:
3 per risposta № 1La linea namespace SampleAngularApp.Controllers
è definizione un namespace (o scope, o virtual segregation). Questa potrebbe essere la prima istanza dello spazio dei nomi, oppure potrebbe essere aggiunta allo stesso spazio dei nomi che è già definito altrove. Questi spazi dei nomi (ambiti) sono indipendenti dai limiti del codice fisico, vale a dire che lo stesso spazio dei nomi può esistere in due o più assiemi diversi.
Le linee using SampleAngularApp.Models;
ecc importazione uno spazio dei nomi, IOW che rende disponibile tale ambito al codice locale. Non hai bisogno di usare using
istruzioni, è possibile specificare lo spazio dei nomi completoogni volta che usi un tipo o fai riferimento a un metodo / proprietà, ma è solo lunatico. Mettere quella riga nel tuo codice è potenzialmente solo la metà del processo - devi anche aggiungere un riferimento all'assembly che ha il codice all'interno dello spazio dei nomi che vuoi usare.
1 per risposta № 2
Con
namespace SampleAngularApp.Controllers
{
.......
}
Stai dichiarando uno spazio dei nomi che è un ambito che ti consente di organizzare il codice e impedisce di creare tipi unici a livello globale.
Con
utilizzando SampleAngularApp.Models;
usando il sistema;
using System.Collections.Generic;
Stai dicendo al compilatore che questo blocco di codice sta usando sopra i namespace e tutte le classi lo sono accessible
.
Significa che puoi usare ogni cosa nel loro campo di applicazione nella tua applicazione.
1 per risposta № 3
Quando si utilizza il tasto "using". Stai dicendo al compilatore che vuoi usare questo spazio dei nomi e ogni classe sotto questo spazio dei nomi nella tua classe
Quando si utilizza il tasto "spazio dei nomi" si sta dicendocompilatore questa sezione tra "{" e "}" è il mio spazio dei nomi per la mia classe, quindi quando si usa la classe in un altro spazio dei nomi è necessario aggiungerla usando l'istruzione.
ex:
Using SampleAngularApp.Controllers
allora posso usare tutte le tue classi nello spazio dei nomi "SampleAngularApp.Controllers"