Criando uma instancia a partir de uma variavel string

.NET

08/03/2006

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

Curtidas 0

Respostas

Rjun

Rjun

08/03/2006

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

Assembly.GetExecutingAssembly().CreateInstance(nomeDaClasse);



GOSTEI 0
Rodrigofonseca

Rodrigofonseca

08/03/2006

Oi Rogerio,

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

Valeu pela ajuda.
Rodrigo


GOSTEI 0
Rodrigofonseca

Rodrigofonseca

08/03/2006

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


GOSTEI 0
POSTAR