すべての値をコンストラクタのSuperClassからSubclassに転送しようとしています。 私の考えは、スーパークラスオブジェクトをコンストラクタに渡す予定で、現在のオブジェクト(サブクラス)に値を自動的に設定します。AutoMapperを使用してSuperClassからSubClassにデータをコピーする
私はラインである「これは=」で取得していますエラー:
Cannot assign to 'this' because it is read-only
マイビューモデルクラス
public class ItemDetailViewModel : Models.AssetItem
{
public ItemDetailViewModel()
{
}
public ItemDetailViewModel(Models.AssetItem model)
{
var config = new MapperConfiguration(cfg => cfg.CreateMap<Models.AssetItem, ItemDetailViewModel>());
var mapper = config.CreateMapper();
var a = mapper.Map<ItemDetailViewModel>(model);
this = a;
}
// Other Properties & Methods for View Models
}
がどのように私はサブクラスにスーパークラスからデータをコピーすることができますか?
あるオブジェクトから別のオブジェクトに(同じ名前の)プロパティをコピーする方が良いでしょうか?
SubClassを* SubClass内のSuperClass *で上書きしようとしていますか?論理的に見えません。あなたは外部から一方を他方にマップします。 – Darren
はい、そうです。だから、そのコードをSuperClassに移すべきですか?例えばViewModelを返すAssetItem.ConvertToItemDetailViewModel() – TTCG