"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C#의 문자열 표현에서 객체 유형을 결정하는 방법은 무엇입니까?

C#의 문자열 표현에서 객체 유형을 결정하는 방법은 무엇입니까?

2025-02-08에 게시되었습니다
검색:203

c# 문자열 표현을 기반으로 객체 유형을 결정합니다

C#에서 유형 이름을 포함하는 문자열은 해당 유형 객체로 변환 될 수 있습니다. 그러나이 변환에 사용 된 방법은 유형이 호출 코드와 동일한 어셈블리 또는 다른 어셈블리에 정의되어 있는지 여부에 따라 다릅니다.

사용 type.getType (String)

]

유형이 동일한 어셈블리에 정의되면 type.getType (String) 메소드를 사용하고 정규화 된 유형 이름을 문자열로 제공 할 수 있습니다. 예를 들어, 유형 int 데이터 유형의 유형을 얻으려면

를 사용할 수 있습니다.
Type.GetType("System.Int32");
]

사용 assembly.getType (String)

]]]]

유형이 다른 어셈블리에 정의되면 어셈블리 이름도 제공해야합니다. 어셈블리 (string) 메소드를 사용하여 구현할 수 있습니다. 먼저, 어셈블리에 대한 참조를 얻은 다음 해당 참조를 사용하여 type :

Assembly asm = typeof(SomeKnownType).Assembly;
Type type = asm.GetType("Namespace.MyClass");

네임 스페이스 및 어셈블리 자격

유형의 네임 스페이스가 type.getType () 또는 assembly.getType () 에 제공된 문자열에 포함되어 있는지 확인하십시오. 또한, 강력하게 명명 된 어셈블리의 경우 버전, 문화 및 공개 키 태그를 포함한 전체 어셈블리 ID를 포함해야 할 수도 있습니다.

샘플 장면

문자열에 유형의 자격있는 이름이 포함 된 다음 시나리오를 고려하십시오.

string typeName = "Namespace.MyClass, MyAssembly";
]

myAsSembly 가 호출 된 어셈블리에서 참조되는지 여부에 따라 type.getType () 또는 assembly.getType () :

를 사용할 수 있습니다.
// 如果 MyAssembly 被引用
Type type1 = Type.GetType(typeName);

// 如果 MyAssembly 未被引用
Assembly asm = typeof(SomeKnownType).Assembly;
Type type2 = asm.GetType(typeName);

How to Determine Object Type from its String Representation in C#?

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3