2013-07-09 3 views
1

AutoMapper을 사용하여 클래스를 구조체에 매핑 할 수 있습니까? 나는 점점 오전 순간구조체에 오토 데스크 클래스

:

{"The type initializer for 'AutoMapper.TypeMapFactory' threw an exception."} 

이 내 간단한 코드 :

여기
Mapper.CreateMap<A, B>() 
.ForMember(dest => dest.a, opt => opt.MapFrom(src => src.b)) 
.ForMember(dest => dest.c, opt => opt.MapFrom(src => src.d)) 
.ForMember(dest => dest.f, opt => opt.MapFrom(src => src.g)); 

A는 클래스 B는 구조체이다.

+0

그리고 그것은 어떤 예외를 발생 했습니까? InnerException으로 포함되어야합니다. –

답변

1

클래스 인스턴스를 struct에 매핑하는 것이 완전히 가능합니다. AutoMapper는 제네릭 형식 매개 변수에 대한 제약이 없으며 구조체와 잘 작동합니다. 예 : 당신이 코드를 다음과 당신의 매핑으로

public class A 
{ 
    public string b { get; set; } 
    public int d { get; set; } 
    public bool g { get; set; } 
} 

public struct B 
{ 
    public bool f; 
    public string a; 
    public int c; 
} 

이있는 경우 잘 작동합니다 :

var a = new A { b = "b", d = 42, g = false }; 
var b = Mapper.Map<B>(a); 
+0

죄송합니다 - 나는 이것이 효과가 있다고 생각하지 않습니다. automapper는 A의 b를 B의 f로 매핑하는 방법을 어떻게 알 수 있습니까? – cs0815

+0

@csetzkorn 내가 말한대로, 귀하의 매핑에서 –

+0

감사합니다. 내가 누제 (nuget)에서 릴리즈 당 버전을 가지고 있다는 것이 밝혀졌습니다. – cs0815

관련 문제