正確なプロパティを持つ 2 つのオブジェクト (クラス) があります。いう :
class class1
{
public string prop1{get;set;}
public string prop2{get;set;}
}
class class2
{
public string prop1{get;set;}
public string prop2{get;set;}
}
リフレクションを使用してこれらのクラスをマップしたいのですが、既にAutoMapperを使用していますが、オブジェクト内にオブジェクトがあるため、私の状況では機能しません....
リフレクションを使用する場合、プロパティ名を渡す必要がありますが、これを 1 つずつ実行したくありません。別の方法があります。
PropertyInfo propinfo = listToReturn.GetType().GetProperty(nameofproperty);
編集::
これが私がautomapperで試したことです:
internal static DTO_objectclass ConvertFOS(objectclass q)
{
DTO_objectclass resultsToReturn = new DTO_objectclass();
AutoMapper.Mapper.CreateMap<objectclass , DTO_objectclass >();
resultsToReturn = AutoMapper.Mapper.Map<objectclass , DTO_objectclass>(q);
return resultsToReturn;
}
これは、 objectclass に次のようなものがあるプロパティになるまで機能します。
property class3 parentClass{get; set;}
そしてDTO_objectclassで私は得ました:
property guid parentClass{get; set;}
変換に失敗したという例外が発生する場所..
Trying to map System.Guid to parentclient.\nUsing mapping configuration for DTO_objectclass to objectclass \nDestination property: ParentClass\nException of type 'AutoMapper.AutoMapperMappingException' was thrown.