Articles of reflection

Exceção de serialização do DataContract (o nome do contrato de dados não é esperado)

Eu tenho o seguinte código: [DataContract] class TestContract { private String _Name; private Int32 _Age; [DataMember( Name = “Name” )] public String Name { get { return _Name; } set { _Name = value; } } [DataMember( Name = “Age” )] public Int32 Age { get { return _Age; } set { _Age = value; […]

C # “é” operador – é essa reflection?

Um colega me fez uma pergunta interessante hoje – a palavra-chave / operador C # “é” considerada reflection? object tmp = “a string”; if(tmp is String) { } Como este operador é implementado nos bastidores? Requer reflection ou introspecção? Ou devido à natureza fortemente tipada da linguagem, o tipo do object é imediatamente acessível como […]

Criação de tempo de execução do Func genérico

Eu preciso implementar o método: object GetFactory(Type type); Esse método precisa retornar um Func onde typeparam ‘T’ é o ‘tipo’. Então, meu problema é que eu não sei como criar um Func Em tempo de execução usando reflection. Activator.CreateInstance não funciona porque não há construtores nos delegates. Alguma ideia?

Como verificar se o object é uma matriz de um certo tipo?

Isso funciona bem: var expectedType = typeof(string); object value = “…”; if (value.GetType().IsAssignableFrom(expectedType)) { … } Mas como eu verifico se o valor é uma matriz de strings sem definir o typeof(string[]) como typeof(string[]) ? Eu quero fazer algo como: var expectedType = typeof(string); object value = new[] {“…”, “—“}; if (value.GetType().IsArrayOf(expectedType)) // <— { […]

Como invocar um método de uma interface COM privada, definida em uma class base?

Como posso invocar um método de uma interface COM privada, definida em uma class base, de uma class derivada? Por exemplo, aqui está a interface COM, IComInterface (IDL): [ uuid(9AD16CCE-7588-486C-BC56-F3161FF92EF2), oleautomation ] interface IComInterface: IUnknown { HRESULT ComMethod([in] IUnknown* arg); } Aqui está a class C # BaseClass do assembly OldLibrary , que implementa o […]

Como chamar o método de extensão “ElementAt” de List com reflection?

Tenho problema que depois de criar o object “oListType01” do tipo List e depois de atribuí-lo ao outro object “oObjectType” do tipo “object” não consigo mais acessar nenhuma function “ElementAt (1)”. Eu tentei usando reflection, mas estou sempre recebendo exceção (conflito de parâmetro) no método “Invoke”. Alguém sabe por quê? Milão MyClass01 oMy1 = new […]

Como retornar o tipo de um sistema .__ COMObject em System.Type em c #

Estou fazendo um programa e quero fazer um Reflection, mas para isso, preciso de um Object da class Type, certo? para usar o método .GetProperties () … Então eu tentei isso: Type typeName = simObjects.getType(); Mas o .GetType () está retornando “System .__ COMObject”. E isso não é útil. O mesmo acontece com .typeof (). […]

C # Reflection: É possível encontrar uma instância de um object em tempo de execução?

Eu estou querendo saber se é possível usar a reflection para localizar um object em tempo de execução? Isso é mais um experimento do que um requisito prático. Eu usei o método .GetType () em uma instância de object para fazer várias coisas no object, mas a minha pergunta é: e se eu souber que […]

Como obter classs e methods de um arquivo .cs usando reflexões em c #.

Como obter as classs que estão disponíveis em um arquivo ‘.cs’? Como podemos obter as classs e methods em uma Assembléia usando, Assembly.GetTypes() and Type.GetMethods() para obter a class e os methods em uma assembly. Da mesma forma, como obter todas as classs presentes em um arquivo C # (arquivo .cs). Eu preciso obter as […]

Objeto não corresponde ao tipo de destino usando C # Reflexão

Eu estou tentando obter um valor de uma janela da seguinte forma isso se refere à janela principal (window1) Type type = this.GetType(); PropertyInfo pi = type.GetProperty(“Left”); object obj = pi.GetValue(type, null); Mas eu recebo um erro “Objeto não corresponde ao tipo de destino usando”. O que está errado?