A alguns dias atr??s, comecei a desenvolver um Framework para que eu pudesse incorporar em minhas aplica????es e que pudesse reaproveit??-la constantemente. Nela cont??m classes de conex??o, cria????o de objetos dinamicamente e imagens. Estava quase pronto quando me deparei com a parte das imagens. Eu queria que as imagens ficassem na DLL e quando eu fosse atualizar uma aplica????o, eu s?? substituiria a DLL e n??o esquecesse dos arquivos.
Nesse caso ele diz que n??o, por padr??o, nenhum recurso. Clique sobre o link para adicionarmos um. Agora, v?? em Add Resource, New Image e escolha um dos tipos de imagem suportado ou escolha Add Existing File… para selecionar uma imagem existente no disco.
Sendo que ?? constitu??do por:
- Framework: ?? o namespace que comp??e sua solu????o, no meu caso estava utilizando o namespace Framework;
- Resources: indica o nome da pasta onde est?? o recurso;
- Imagem
Assim a imagem j?? est?? incorporada ?? DLL e prontra para uso. Para invocarmos, conforme descrito anteriormente, pode ser de duas formas: de dentro da DLL e fora dela.
Por dentro, podemos gerar um objeto Image e adicionar seu atributo ImageUrl diretamente:
Image imagem = new Image();
imagem.ImageUrl = ClientScript.GetWebResourceUrl(this.GetType(), “Framework.Resources.Calendario.png”);
Pode-se utilizar a mesma forma de invoca????o quando for chamar de fora da DLL pelo CodeBehind. Se for chamar direto na p??gina ASPX basta utilizar as tags <%= %>colocando dentro o m??todo de invoca????o do recurso.
Voc?? pode utilizar essa forma de acoplamento de recursos para alguns outros tipos de objetos como JavaScript, por exemplo. Lembrando que n??o ?? bom ter uma DLL muito grande com diversos objetos. Caso for de extrema import??ncia mant??-lo na DLL, fragmente-os em diversas outras DLLs.