Inquiridor
Ler Atributos

Pergunta
-
Boa tarde pessoal,
Crie um atributo chamado:
[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = false)]
public class Teste : Attribute
{private teste;
public AttributeTeste(string pTeste)
{
teste = pTeste;
}}
Eu coloquei este atributo em todas as minhas telas do meu projeto, um total de 7 telas. Criei mais 1 nova tela. Coloquei este código em todas as telas menos na nova tela:
[AttributeTeste("TESTE")]
public partial class servicos_Teste:{
}Quando eu vou ler os atributos na nova tela . Estou executando este código:
System.Reflection.AssemblyName[] tipo1 = System.Reflection.Assembly.GetExecutingAssembly();
Type[] tipo2 = System.Reflection.Assembly.GetExecutingAssembly().GetTypes();
for (int i = 0; i < tipo2.Length; i++)
{
object[] attributess = tipo2.GetCustomAttributes(true);
for (int k = 0; k < attributess.Length; k++)
{//Pego o meu atributo.
}
}
O método GetExecutingAssembly() só pega os atributos em execução. Alguém pode me dar um exemplo de como eu pegar todos os meus atributos do meu projeto?
Todas as Respostas
-
Oi !
O getExecutingAssembly devolve um elemento do tipo Assembly. Neste elemento do tipo Assembly você pode utilizar o método GetReferencedAssembly, então você obtem todos os assemblies utilizados pelo seu projeto e pode desta forma vasculhar todos os tipos de dados ligados ao seu projeto.
[]'s
-
-
-
-
Oi !
Seu projeto é um único assemblie. Ao ter em mãos a referência a ele, você pode pegar todas as classes que o assembly contém.
Mas isso falando de projeto. Pois pela sua descrição você parece ter na verdade uma solução, ou seja, um projeto que faz referência a várias class libraries (que são outros projetos), por isso a necessidade de pegar as referências que seu projeto possui e as classes contidas em cada uma.
[]'s
-
ok,
Mais vc tem algum exemplo de como eu posso pegar um atributo de uma classe do meu projeto? Por exemplo ..
Eu tenho uma tela aspx. No cs desta tela eu coloco o meu atributo;
public partial class TesteTela
{
protected void Page_Load(object sender, EventArgs e)
{}
}
[AttributeTeste("TESTE")]
public partial class servicos_Teste:{
}Tem como eu pegar este atributo [AttributeTeste("TESTE")] ?
Valew.
-
-