/ / Qual o significado desses diferentes tipos de namespace em c # [closed] - c #

Qual o significado desses diferentes tipos de namespace em c # [closed] - c #

Eu quero saber a diferença para este código

Eu sei que o código abaixo contém namespaces

using SampleAngularApp.Models;
using System;
using System.Collections.Generic;

e também sei que o código abaixo contém um namespace

namespace SampleAngularApp.Controllers
{
.......
}

Qual é a diferença entre esses dois tipos de namespaces?

Respostas:

3 para resposta № 1

A linha namespace SampleAngularApp.Controllers é definindo um namespace (ou escopo ou segregação virtual). Essa pode ser a primeira instância do namespace ou pode estar sendo adicionada ao mesmo namespace que já está definido em outro lugar. Esses namespaces (escopos) são independentes dos limites de código físico, ou seja, o mesmo namespace pode existir em dois ou mais assemblies diferentes.

As linhas using SampleAngularApp.Models; etc são importando um namespace, o IOW disponibilizando esse escopo para o código local. Você não precisa usar using instruções, você poderia especificar o namespace completotoda vez que você usa um tipo ou faz referência a um método / propriedade, mas isso é apenas loucura. Colocar essa linha em seu código é potencialmente apenas uma metade do processo - você também precisa adicionar uma referência ao assembly que possui o código dentro do namespace que você deseja usar.


1 para resposta № 2

Com

namespace SampleAngularApp.Controllers { ....... }

Você está declarando um namespace que é um escopo que permite organizar o código e impede a criação de tipos exclusivos globais.

Com

usando SampleAngularApp.Models;

usando o sistema;

using System.Collections.Generic;

Você está dizendo ao compilador que este bloco de código está usando os namespaces acima e todas as classes são accessible.

Significa que você pode usar tudo em seu escopo em sua aplicação.


1 para resposta № 3

Quando você usa a tecla "using". Você está dizendo ao compilador que você quer usar este namespace e cada classe sob este namespace em sua classe

Ao usar a tecla "namespace" você está dizendo aoO compilador desta seção entre "{" e "}" é o meu namespace para minha classe, então quando você usa sua classe em outro namespace, você precisa adicioná-la usando a instrução.

ex:

Using SampleAngularApp.Controllers

então eu posso usar todas as suas classes no namespace "SampleAngularApp.Controllers"