そこまで、Is-Aにしようとする必要ってあるんだっけ?
わざわざ委譲するコード書きまくるなら
入れ物にそのままインタフェースでプロパティとして、公開させれば楽じゃないの?
class AdapterForIsA{
  public ISerializable Data;
  public IWidget Widget;
}
private 継承はあったらいいなとは思うけど・・