Array
(
)

Reflection

Cbueno
   - 26 jun 2006

Olá estou precisando de ajuda obter informações de uma classe/metodo comum para dois namespaces diferentes.

Por exemplo:

Tenho os seguintes namespaces:

Sistema.Oracle e Sistema.SqlServer. Neles existe uma classe RetornaSQL com o método Constante(string NomeSQL)

Estou tentando fazer o reflection da seguinte maneira:

private static readonly string path = ´Sistema.´ + DBHelper.database;

public IRepositorioSql ObtemRepositorio()
{
string className = path + ´.RetornaSQL´;
return (IRepositorioSql)Assembly.Load(path).CreateInstance(className);
}

IRepositorioSql é uma interface para a classe RetornaSQL e DBHelper.database serve para obter o nome do banco no Web.Config e então montar a estrutura do namespace na variável path.

//Interface IRepositorio.cs

namespace Sistema.IRepositorio
{
public interface IRepositorioSql
{
string Constante(string NomeSQL);
}
}

Estou disparando o metodo ObtemRepositorio da seguinte maneira:

DbDataReader rdr = DBHelper.ExecuteReader(DBHelper.ConnectionStringLocalTransaction, CommandType.Text, ObtemRepositorio().Constante(´COMANDO_SQL_DESEJADO´), null);

Já utilizei uma construção semelhante para outro sistema no entanto estou obtendo o seguinte erro agora:

FileNotFoundException was unhandled by user code

Could not load file or assembly ´Sistema.SQLServer´ or one of its dependencies. The system cannot find the file specified.

Alguém saberia me dizer como resolver isto?

Obraigado até mais.