Articles of reflection

C # Reflexão e Obtendo Propriedades

Eu tenho a seguinte estrutura de class fictícia e estou tentando descobrir como obter as propriedades de cada instância da class People em PeopleList. Eu sei como obter as propriedades de uma única instância de pessoas, mas não posso para a vida de mim descobrir como obtê-lo de PeopleList. Tenho certeza de que isso é […]

Como verificar se um tipo sobrecarrega / suporta um determinado operador?

Como posso verificar se determinado tipo implementa um determinado operador? struct CustomOperatorsClass { public int Value { get; private set; } public CustomOperatorsClass( int value ) : this() { Value = value; } static public CustomOperatorsClass operator +( CustomOperatorsClass a, CustomOperatorsClass b ) { return new CustomOperatorsClass( a.Value + b.Value ); } } Após duas […]

Obter tipo de class derivada do método estático de class de uma base

Eu gostaria de obter o tipo da class derivada de um método estático de sua class base. Como pode ser isto alcançado? Obrigado! class BaseClass { static void Ping () { Type t = this.GetType(); // should be DerivedClass, but it is not possible with a static method } } class DerivedClass : BaseClass {} […]

Obter nome amigável para o tipo genérico em c #

Existe uma maneira fácil sem escrever um método recursivo que dará um nome ‘amigável’ para um tipo genérico da class Type ? Por exemplo, para o seguinte código eu quero algo como ‘List <Dictionary >’ em vez do nome abreviado ou completo dado pelo seguinte código: var list = new List<Dictionary>(); var type = list.GetType(); […]

Como obter o basetype da interface por meio da reflection?

public interface IBar {} public interface IFoo : IBar {} typeof(IFoo).BaseType == null Como posso obter o IBar?

Teste se Convert.ChangeType funcionará entre dois tipos

Este é um follow-up para esta questão sobre a conversão de valores com reflection. Converter um object de um determinado tipo em outro tipo pode ser feito assim: object convertedValue = Convert.ChangeType(value, targetType); Dadas duas instâncias Type (digamos FromType e ToType), existe uma maneira de testar se a conversão será bem-sucedida? Por exemplo, posso escrever […]

Obter propriedades privadas / Método de class base com reflection

Com Type.GetProperties() você pode recuperar todas as propriedades de sua class atual e as propriedades public da class base. É de alguma forma possível obter as propriedades private da class base também? obrigado class Base { private string Foo { get; set; } } class Sub : Base { private string Bar { get; set; […]

Comparando propriedades do object usando reflection

Eu tenho duas classs de endereço e empregado da seguinte forma: public class Address { public string AddressLine1 { get; set; } public string AddressLine2 { get; set; } public string City { get; set; } public string State { get; set; } public string Zip { get; set; } } public class Employee { […]

Converter Expressão <Func > para Expressão <Func dinamicamente

Não consigo encontrar o caminho para converter de expressão <Func > para expressão <Func >. Desde que eu estou usando muita reflection, na verdade, o que eu realmente preciso é um método que leva um parâmetro de tipo e realiza a conversão. public object Convert(Expression<Func> expr, Type t); T2 é derivado de T1 public class […]

C # Reflexão: Instanciar um object com o nome da class de string

minha situação é a seguinte: Estou trabalhando com o Visual C # 2010 express desenvolvendo um aplicativo Windows Forms. Quando o usuário logar, construa dinamicamente uma janela com opções carregadas de uma tabela de database. Nessa tabela eu salvo id, nome da opção e nome do formulário. Então, suponha que no meu projeto eu tenha […]