2017-09-08 4 views
0

Builderデザインパターンを使用してインスタンス化されるクラスがたくさんあります。Builderデザインパターンを使用したAutomapper

Builder carBuilder = Car.CreateBuilder(); 
carBuilder.setColor("red"); 
carBuilder.setHorsepower(300); 
Car car = carBuilder.Build(); 
car.color == "red"; // True 
car.horsepower == 300; // True 

がどのように私は、このクラスの標準クラスからマッピングするためにAutomapperを使用することができます。例えば、私は、私はこのようなインスタンスBuilderのデザイン・パターンを使用して車を持っているのでしょうか?私はトラックを持っている場合たとえば、それは次のようになります。

class Truck { 
    public string color; 
    public int horsepower; 
} 

Truck truck = new Truck(); 
truck.color = "blue"; 
truck.horsepower = 250; 

それは車にトラックをマッピングできるように、どのように私はAutomapperが設定できますか?

Car newCar = Mapper.Map<Truck, Car>(truck); // This is how I want to use Automapper 
car.color == "blue"; // Should be true 
car.horsepower == 250; // Should be true 

答えて

0

これらのプロパティにはセッターが必要です。しかし、セッターはプライベートにすることができます。 ConstructUsingを使用すると、必要に応じて新しいオブジェクトを作成できます。

+0

私はあなたが車のプロパティについて話していると思いますか? AutoMapperにCreateBuilder()とBuild()を呼び出す方法を教えてください。 – mshindal

+0

あなたは作成したオブジェクトにマップするだけです。 –

+0

コンストラクションを使用して、トラックから車を作成することもできます。 –

関連する問題