Criando uma instancia a partir de uma variavel string

08/03/2006

0

Galera,

Estou tentando criar instancias de classes dinamicamente e por isso não estou conseguindo criar uma determinada instancia a partir de uma veriavel string.

Abaixo segui o exemplo:


using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{/

// Posso atribuir a esta variavel qualquer nome de classe valida.
string nomeClass = ´Pessoa´;


object p = new nomeClass(); //Nao consigo criar esta instancia!
}
}
}


Desde já agradeço a atenção.
Atenciosamente,
Rodrigo


Rodrigofonseca

Rodrigofonseca

Responder

Posts

09/03/2006

Rjun

Sua classe está no mesmo assembly? Você pode fazer isso através de Reflection.

Assembly.GetExecutingAssembly().CreateInstance(nomeDaClasse);



Responder

10/03/2006

Rodrigofonseca

Oi Rogerio,

Sim, a minha classe esta no mesmo assembly!
Tente como vc sugeriu e não deu certo!

Valeu pela ajuda.
Rodrigo


Responder

10/03/2006

Rodrigofonseca

Rogério,
Consegui resolver o probema, mas tive também que concatenar o nome da namespace ao nome da string.
Abaixo segue o código.

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string nomeClass = ´ConsoleApplication1 .Pessoa´;
Pessoa p = (Pessoa)Assembly.GetExecutingAssembly().CreateInstance(nomeClass);
}
}
}


Valeu pela ajuda.
Rodrigo


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar