バックグラウンド:
この質問を正確に表現する方法がわからないので、これは私が達成しようとしていることの例です:
public interface IEverythingVM : IA, IB
{
MyTypeA {get;}
MyTypeB {get;}
MyTypeC {get;}
MyTypeD {get;}
MyTypeE {get;}
MyTypeF {get;}
}
public class EverythingVM : IEverythingVM
{
// Populate everything from MyTypeA to MyTypeF
}
public interface IA
{
MyTypeA {get;}
MyTypeB {get;}
MyTypeC {get;}
}
public interface IB
{
MyTypeD {get;}
MyTypeE {get;}
MyTypeF {get;}
}
実現:
私は次のようなことができるという印象を受けましたが、それを書き出すと、なぜそれがうまくいかないのかがはっきりとわかります.ばかげているので、私は大声で笑い声を上げたいと思います。
{
IA varIA = new EverythingVM(param1, param2);
IB varIB = new EverythingVM(param1, param2);
var cm = new ComparisonManager(varIA, varIB);
}
public class ComparisonManager
{
public ComparisonManager(IEverythingVM varEIA, IEverythingVM varEIB)
{
// be able to acces MyTypeA, MyTypeB & MyTypeC from varEIA
// be able to acces MyTypeD, MyTypeE & MyTypeF from varEIB
}
}
質問:
最終的に私が達成しようとしているのは、場合によっては で利用MyTypeA
可能になり、別の場合では で利用できるようになることです。現在の構造を考えると、これを達成する方法はありますか?MyTypeB
MyTypeC
ComparisonManager
MyTypeD
MyTypeE
MyTypeF
ComparisonManager