Relação entre DLLs e namespaces em c #
Pergunta de alto nível aqui:
Eu passei muito tempo hoje me educando em conceitos básicos de alto nível, como APIs, bibliotecas estáticas e dinâmicas, DLLs e empacotamento em C #. Ganhar todo esse conhecimento me levou ao que parece ser uma questão bem básica, e provavelmente demonstra um buraco na minha compreensão desses conceitos:
O que eu sei:
As DLLs podem conter classes que, por sua vez, contêm vários membros de classe, como métodos e campos, vários dos quais eu gostaria de utilizar em meu programaEm C #, usamos a palavra-chave "using" na parte superior do código para definir um namespace que queremos incluir em nosso programaO que eu não entendo:
Fiquei com a impressão de que os métodos reais foram definidos nas DLLs. Como meu programa encontra as funções reais que estão definidas nas DLLs, quando tudo que eu lhes dou é um namespace? Parece mais intuitivo para mim ter "usando XYZ.dll" no topo, em vez de "usar XYZ_namespace".
Muito obrigado por me ajudar a preencher as lacunas aqui.
EDIT: post modificado para ser específico para c #.
EDIT 2: Para outras pessoas que se perguntam como seu aplicativo C # realmente obtém os tipos disponibilizados através de "using namespaceX", esse é um bom recurso (além dos posts úteis abaixo):http://broadcast.oreilly.com/2010/07/understanding-c-namespaces-and.html.
Basicamente, o tipo que você gostaria de usar reside em bibliotecas e você tem que definir o Visual Studio para fazer referência a essas bibliotecas, a fim de tornar possível "usar" seu namespace em seu código.