私は、次のと失敗をやろうとしています:多型解像度
class base {}
class derived1 : base {}
class derived2 : base {}
interface itr<t>
where t : class, base
{}
class c1: itr<derived1>
{}
class c2 : itr<derived2>
{}
//以下の2件の登録が失敗:
_unityContainer.RegisterType<itr<base>, c1>("c1");
_unityContainer.RegisterType<itr<base>, c2>("c2");
私が手にエラーがあることです上記登録の第2パラメータは第1パラメータに型キャストすることができず、この登録は無効です。どのように私はこれを行うことができます上の任意の提案?
解決している間に私が解決している派生型を正確に知る必要がないため、derived1クラスまたはderived2クラスを汎用パラメータとして登録する代わりに、上記を行う必要があります。私はベース型のメソッドを多態的に扱うだけです。