0

私が何をしたいのかを最もよく説明するために、私がやっていることをお見せします。

public class foo()
{
    public foo()
    {
        MyContext db = new MyContext();
        foobar = db.foobar.first();
        this = Mapper.Map<bar, foo>(foobar);
    }
}

基本的に、宛先クラス内でオートマッパーを使用して、宛先クラスコンストラクター内のソースクラスからマップしたいと考えています。

これを行う方法はありますか?

4

1 に答える 1

1

これはC#でのみ読み取られるため、これを行うことはできません。コンストラクターでこれに値を割り当てることはできません。コンストラクターでオブジェクトの参照を変更しようとするのはクールではありません。マッピングを手動で行い、個々のプロパティを割り当てる必要があります。また、デフォルトのコンストラクターでデータベースまたはサービスからオブジェクト値を割り当てるのが良い習慣であるかどうかも疑問に思います。何が起こっているかはオブジェクトのユーザーにはあまり透過的ではなく、コンストラクターで例外を取得する可能性があります。

于 2012-12-11T21:32:06.930 に答える