2009-12-02 2 views
11

여기 내 문제가 있습니다. DLL을 참조하는 객체가 있습니다. DLL 자체에 대한 참조를 포함하지 않고 다른 개체에서 내 개체를 참조하고 싶습니다.C# : 하나의 열거 형을 다른 열에 배치 (즉, 다른 열거/복사 중 ...)

복제하려는 DLL의 열거 형을 제외하고는 대부분 괜찮습니다. 열 단위로 열거 형을 작성할 수 있지만이 작업을 수행하는 더 좋은 방법이 있는지 궁금합니다.

즉.

public enum myEnum 
{ 
    value1, 
    value2, 
    value3 
} 

또는 더 나은 아직 :

public enum myEnum 
{ 
    value1 = dllEnum.value1, 
    value2 = dllEnum.value2, 
    value3 = dllEnum.value3 
} 

그러나 각각의 경우가있다

public enum dllEnum 
{ 
    value1, 
    value2, 
    value3 
} 

내가 다음 작업을 수행 할 수 있습니다 :

의이 DLL의를 가정 해 봅시다

는 다음 열거있어 나 자신을 전체 enum 밖으로 작성. 차라리 전체 열거 형을 내 열거로 감싸고 원래 열거 형의 색인을 유지할 수 있습니다. 의 라인을 따라

뭔가 :

public enum myEnum 
{ 
    Enum.GetValues(dllEnum) 
} 

답변

0

http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/ddedaf59-fb36-45cd-8062-446fa92d8f68

이 문서가 당신을 도울 수있는 몇 가지 좋은 사례가 있습니다 열거 형을 동적으로 생성하고 런타임에 컴파일 할 수있는 솔루션을 찾으십시오. VB.Net에서 'eval'유형 함수에 대해이 작업을 수행했지만 enum에 대해서는이 작업을 수행하지 않았습니다.

이렇게하면 컴파일 타임에 값을 확인할 수 없으므로 많은 상처를 입을 수 있습니다. .Net 4.0의 DLR을 사용하면 더 많은 유연성을 얻을 수 있다고 상상합니다 (프레임 워크의 다음 버전에 대한 세부 정보는 읽지 않았습니다.)

+0

이것은 단순히 Enum을 매핑하는 것 이상의 작업입니다. 너 자신 ... 나는 그럴 가치가 있다고 생각하지 않는다. –

관련 문제