Avançar para o conteúdo principal

CSharp - Dividir o código por DLL

CSharp - Dividir o código por DLL

Uma das formas de dividir e organizar o código pode ser pela criação de DLL, e estes podem ser aproveitados para vários projectos.


CSharp DLL

A criação de Bibliotecas DLL (biblioteca de vínculo dinâmico  microsoft)  pode ser uma forma de dividir e organizar o código. As DLL funcionam como um módulo externo, um conjunto de código que se coloca num ficheiro diferente do principal.

Com esta organização podemos também reaproveitar o código das DLL para outros projectos. Por exemplo uma biblioteca semelhante à apresentada no exemplo pode servir para vários projectos de engenharia.

Existem muitos assuntos relacionados com as DLL nos quais não vamos entrar aqui, inclusive o uso de DLL programadas em linguagens diferentes.


Exemplo:

O caso presente envolve dois ficheiros, um como se fosse o código principal, e um secundário que contém o código para a DLL.

teste_ang.cs é o ficheiro principal

ConverteAngulosDLL.cs é o ficheiro que vai dar origem ao DLL

(os nomes podem ser outros e não tem de ter DLL no nome, este foi apenas um exemplo)

Esquema de funcionamento

Na esquerda o ficheiro que vai dar origem ao DLL, não informação sobre o ficheiro principal ou algum dos seus métodos como é lógico. Este pode servir para múltiplos usos como referimos antes.


Na direita o ficheiro principal, este sim faz referencia ao DLL. Logo na uso da directiva using para importar os namespaces do DLL.

using Angulos vai importar o namespace do ficheiro DLL.

Depois temos de usar o prefixo como propriedade, da classe que queremos usar. No caso usamos Converte seguido do método que usaremos.

Converte.GrausGrados(200.001) dá acesso à classe Converte e ao método GrausGrados tudo isto no namespace Angulos do ficheiro DLL.

Entendido isto, é apenas código, para que tudo funcione temos de compilar, primeiro a DLL e depois o executável com a referência à DLL.


Como estou a usar o Mono para Linux (.net framework Mono) os comandos a seguir são diferentes na chamada ao compilador do que seriam no Windows.

  mcs /target:library /out:ConverteAngulos.dll /recurse:ConverteAngulosDLL.cs
  mcs /out:teste_ang.exe /reference:ConverteAngulos.dll /recurse:teste_ang.cs
  mono teste_ang.exe
A primeira linha chama o ficheiro de texto e compila para uma biblioteca (/target:library).
A segunda linha compila para executável, mas tem menção à bilioteca criada no passo anterior (/reference:ConverteAngulos.dll).
A terceira linha é apenas um comando para executar o programa.

Espero que seja útil.


Comentários

Mensagens populares deste blogue

C# - Viadutos Excel - ISPOL

C# - Viadutos Excel - ISPOL Ler dados do Excel e passar a informação para o ISPOL é um ganho de produtividade e organização. Desta vez, apresento uma utilidade que lê um ficheiro Excel, e transforma os dados para o menu de estruturas do ISPOL. Partindo de um Excel organizado, por pks eixos e espessuras da estrutura etc... como o seguinte: Elaborei um programita em CSharp: Este programa funciona em modo "DOS" não tem uma interface gráfica de janelas: O programa cria os ficheiros necessários, o Excel pode estar organizado por eixos, e o programa guarda um ficheiro para cada eixo: O resultado depois de abrir o ficheiro em ISPOL é o seguinte: Com as alterações ao projecto pode-se manter um ficheiro de apresentação e controlo em Excel.

Politica de privacidade das aplicações colocadas na Play Store do Google

Politica de privacidade das aplicações colocadas na Play Store do Google. As aplicações não recolhem qualquer dado do utilizador nem a armazenam ou partilham com terceiros. Não recolhem a localização nem a armazenam ou partilham com terceiros. Alguma informação sobre os utilizadores que possa chegar ao programador por via da Play Store, será tratada de acordo com toda a confidencialidade, e não fornecida a terceiros. Obrigado.

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...