我想基於將從用戶界面中檢索到的字符串使一個類的實例,然後我想要訪問該類的實例的屬性。從給定接口的字符串的C#實例化類
這裏是我到目前爲止的概述 -
namespace MamdaAdapter
{
public interface IExchange
{
string GetTransport();
}
}
namespace MamdaAdapter
{
public class Exchange
{
public class Arca : IExchange
{
private const string _Transport = "tportname";
public string GetTransport()
{
return _Transport;
}
}
public static IExchange DeriveExchange(string ExchangeName)
{
IExchange SelectedExchange = (IExchange)Activator.CreateInstance(Type.GetType(ExchangeName));
return SelectedExchange;
}
}
}
namespace MyUserInterface
{
public class MainForm
{
private void simpleButton1_Click(object sender, EventArgs e)
{
IExchange SelectedExchange = Exchange.DeriveExchange("Exchange.Arca");
Console.WriteLine(SelectedExchange.GetTransport());
}
}
}
UPDATE: 現在,我收到寫着「值不能爲空」這對我來說意味着異常它是無法創建給出提供的字符串的類的實例 -
什麼不行?你有錯誤嗎? – driis
你現在遇到的問題是什麼? – Daniel
還有一些需要考慮的問題是,有一些IoC庫的套件可以用於生活 - 看NInject,Unity或其他 - 它們可以是配置驅動,程序驅動等。 – stephbu