public class A
{
    public string Value1 { get; set; }
    public string Value2 { get; set; }
    ・・・
    public string Value100 { get; set; }
}

public class B : A
{
    public B(A a)
    {
        this.Value1 = a.Value1;
        this.Value2 = a.Value2;
        ・・・
        this.Value100 = a.Value100;
    }
}

基底クラスが保持している値を派生クラスのインスタンスにコピーする簡潔な記述方法はあるでしょうか。
上記のコードのように基底クラスに多くのプロパティ(またはフィールド)がある場合、単純にコピーロジックを書くと長くなってしまうので、もっと簡潔に書ける方法はないかと思い、質問しました。