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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar