...動的プロキシを参照してください...
でも...
インターフェイスの実装をインスタンス変数またはタイプに委任する機能(typeof(type)のように)は、C#およびVB.Netで非常に必要とされる言語機能です。多重継承がなく、封印された非仮想のメソッドとプロパティが普及しているため、必要な綿毛コードの量は気が遠くなるほどです。
次の言語拡張が機能すると思います...//C#
interface IY_1
{
int Y1;
int Y2;
}
...
..
interface IY_n
{
....
..
}
class Y : IY_1, IY_2, ....,IY_n
{
private readonly Oy_1 Oy_1 = new Oy_1() supports IY_1, IY_2,...etc; // <<-----
private readonly Oy_2 Oy_2 = new Oy_2() supports IY_3, IY_8,...etc;
public int Y2 {...}
}
「supports」キーワード(または「defaults」などの同等のもの)は、名前と署名のインターフェースの通常の名前と署名のマッピングセマンティクスを使用して、1つ以上のインターフェースの実装を「支援」するクラスフィールド値の順序付きリストを識別します。対応。すべてのローカル実装が優先され、同様に、単一のインターフェイスが複数のフィールド値によって実装される場合があります。