2014-07-18 3 views
0

I 클래스가 있습니다. > 오브젝트 1 특정 속성 -System.ArgumentException 같은 객체를 매핑

오브젝트 1 및 Object2

나는 object2를 주입합니다.

public class LotInfoInject : ConventionInjection 
    { 
     protected override bool Match(ConventionInfo c) 
     { 
      return c.SourceProp.Name.StartsWith("io"); 
     } 

    } 

와 나는이 같은 injecter 사용하고 있습니다 :

그래서 나는이 같은 경기 방식을 재정의

object1.InjectFrom을 (object2);

왜 예외가 발생하는지 파악할 수 없습니다.

{ " '선택 System.Int32'. 형식으로 변환 할 수없는 유형 '선택 System.String'는의 객체"} 내가 그것을 작동하지만 난 점점 속성을 오전 경기 메소드를 오버라이드 (override) 해달라고하면

을 그게 내가 object1에서 대체하고 싶지 않아

어떤 아이디어?

+1

를 소스 당신은 또한 당신이 문자열에서 가고 싶은 당신은 또한 경우에 SetValue를을 무시할 수 – Omu

+0

소스 속성을 동일해야하는 대상 속성을 지정해야합니다 IO로 시작해야 함을 지정 외에 int – Omu

답변

3

iolitm (string)을 iodoco (int)에 넣으려고합니다.

다음과 같이하십시오 :

public class LotInfoInject : ConventionInjection 
{ 
    protected override bool Match(ConventionInfo c) 
    { 
     return c.SourceProp.Name.StartsWith("io") 
      && c.SourceProp.Name == c.TargetProp.Name; 
    } 

} 
+0

저를 구했습니다! 감사! – e4rthdog

관련 문제