O que é reflexão e por que é útil? Estou particularmente interessado em Java, mas presumo que os princípios sejam os mesmos em qualquer
Reflexão é a capacidade de um programa observar e / ou modificar sua estrutura e / ou comportamento em tempo de execução. A reflexão depende da linguagem de programação de suporte - identifique a linguagem de programação usada ao usar essa tag.
O que é reflexão e por que é útil? Estou particularmente interessado em Java, mas presumo que os princípios sejam os mesmos em qualquer
Devido à implementação de genéricos Java, você não pode ter um código como este: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } Como posso implementar isso mantendo a segurança do tipo? Eu vi uma solução...
Qual é a melhor maneira de chamar um método genérico quando o parâmetro type não é conhecido no tempo de compilação, mas é obtido dinamicamente no tempo de execução? Considere o seguinte código de exemplo - dentro do Example()método, qual é a maneira mais concisa de chamar...
Estou tentando implementar a transformação de dados usando o exemplo de reflexão 1 no meu código. A GetSourceValuefunção possui uma opção que compara vários tipos, mas quero remover esses tipos e propriedades e GetSourceValueobter o valor da propriedade usando apenas uma única string como...
Existe uma maneira de obter o caminho para o assembly no qual o código atual reside? Eu não quero o caminho do assembly de chamada, apenas aquele que contém o código. Basicamente, meu teste de unidade precisa ler alguns arquivos de teste xml que estão localizados em relação à dll. Quero que o...
Nem sempre é possível conhecer o Typeobjeto em tempo de compilação, mas pode ser necessário criar uma instância do Type. Como você obtém uma nova instância de objeto de a
Se eu tiver duas variáveis: Object obj; String methodName = "getName"; Sem conhecer a classe de obj, como posso chamar o método identificado por methodNameela? O método que está sendo chamado não possui parâmetros e um Stringvalor de retorno. É um getter para um bean Java...
Como obtenho uma lista de todas as propriedades de uma
Como posso verificar se uma variável está definida no Ruby? Existe um issetmétodo -type
Será reflexão em C#oferta uma maneira de determinar se alguns dados System.Typemodelos tipo algum interface? public interface IMyInterface {} public class MyType : IMyInterface {} // should yield 'true' typeof(MyType)./* ?????
Usando a reflexão, como posso obter todos os tipos que implementam uma interface com C # 3.0 / .NET 3.5 com o mínimo de código e minimizando iterações? É isso que quero reescrever: foreach (Type t in this.GetType().Assembly.GetTypes()) if (t is IMyInterface) ; //do
É possível encontrar todas as classes ou interfaces em um determinado pacote? (Olhando rapidamente para Package, por exemplo , pareceria
Estou usando a reflexão para percorrer Typeas propriedades de a e definir certos tipos como padrão. Agora, eu poderia mudar o tipo e definir default(Type)explicitamente, mas prefiro fazê-lo em uma linha. Existe um equivalente programático do
Como posso conseguir isso? public class GenericClass<T> { public Type getMyType() { //How do I return the type of T? } } Tudo o que tentei até agora sempre retorna o tipo, Objecte não o tipo específico
Gostaria de saber se é possível obter atributos dos enumvalores e não do enumpróprio? Por exemplo, suponha que eu tenha o seguinte enum: using System.ComponentModel; // for DescriptionAttribute enum FunkyAttributesEnum { [Description("Name With Spaces1")] NameWithoutSpaces1,...
Tenho uma classe mal projetada de terceiros JARe preciso acessar um de seus campos particulares . Por exemplo, por que devo escolher um campo privado é necessário? class IWasDesignedPoorly { private Hashtable stuffIWant; } IWasDesignedPoorly obj = ...; Como posso usar a reflexão para obter o...
Eu tenho uma classe com um private static finalcampo que, infelizmente, preciso alterá-lo em tempo de execução. Usando reflexão, recebo este erro: java.lang.IllegalAccessException: Can not set static final boolean field Existe alguma maneira de alterar o valor? Field hack =...
Existe uma maneira de obter o nome do método atualmente em execução em
Se eu tiver uma classe chamada MyProgram, existe uma maneira de recuperar " MyProgram " como uma
Qual das alternativas a seguir é melhor? a instanceof B ou B.class.isAssignableFrom(a.getClass()) A única diferença que eu sei é que, quando 'a' é nulo, o primeiro retorna falso, enquanto o segundo gera uma exceção. Fora isso, eles sempre dão o mesmo