0
假設我有一個interface
稱爲IVerifier
思考問題
public interface IVerifier
{
bool Validate(byte[]x, byte[]y);
}
,我不得不通過反射加載程序集,並裝配擁有相同的簽名,這是怎麼可能做到這一點:
IVerifier c = GetValidations();
c.Validate(x,y);
而且裏面的GetValidations()
是反射駐留!
我一直在想這個問題,我得到的只是調用反射方法將會在GetValidations()
之內,但它必須要像上面那樣去做。
程序集有類實現接口嗎? –
使用Assembly.CreateInstance()方法創建實現IVerifier的類的對象。你需要很好地猜測實現它的類的名字。或者迭代程序集中的類型以找到實現該接口的類型。或者使用工廠方法。或者使用像MEF這樣的插件框架。等等。 –
該程序集包含什麼內容?實現接口的類型?或者只是鍵入具有相同簽名的方法?你知道你想使用的類型的名稱(可能是方法)嗎? – svick