Isso é muito comum com imagens de botões. Pois quando o seu executável é publicado, você não libera uma pasta cheia de imagens para seus usuários.
O trecho abaixo, mostra como carregar um arquivo embarcado em um assembly. É bem simples:
O código acima é bem simples e auto-explicativo. Com este recurso você pode ler qualquer coisa que possa ser manipulada através de Streams (imagens, vídeos, textos, xml, xsd, etc).
public class ResourceReader
{
public static System.IO.Stream OpenResource(string fullName)
{
/* Full name é o nome completo do recurso, ou seja
* o caminho onde você colocou o recurso na sua solução.
* Apenas substituindo o "/" por "."
* Supondo que eu tenha um xml colocado na pasta
* <raiz da solução>\Andre\Configuration\Network\config.xml
* eu acessaria o recuros com o seguinte endereço:
* Andre.Configuration.Network.config.xml
* */
/* Recuperei o objeto que representa a dll ou exe que contém
* o código corrente */
System.Reflection.Assembly meuAssembly = System.Reflection.Assembly.GetExecutingAssembly();
/* Retorna um stream para ler o conteudo que está embarcado em minha dll */
return meuAssembly.GetManifestResourceStream(fullName);
}
}
Nenhum comentário:
Postar um comentário