만약 내가 List<int>
을 가지고있는 경우, 내가 가지고있는 Type
이 일반 '컨테이너'인지 확인해야합니다. 목록으로 작업하고 있는지 확인해야합니다. 내가 int
으로 일하는지 여부를 확인하려면 어떻게해야합니까? (나는 리플렉션을 생각하고있다.) 또 다른 예로, StructContainer<T>
이라는 클래스가 있는데, 'StructContainer'라는 단어를 찾을 필요가 있습니다. 'T'가 무엇인지 궁금해하지 않습니다. 반사도를 사용하여 StructContainer'1
을 얻으면 일부 문자열을 처리해야합니다. 분할 등/편집 : 그냥 더 설명하기 위해, StructContainer<int>
내가 필요 'StructContainer', Tuple<int>
내가 '튜플'을 필요 List<int>
내가 '목록'을 필요로 등 첫 번째 질문은 여러 가지 방법으로 달성 할 수일반 컨테이너 유형 가져 오기
답변
string type = yourObject.GetType().Name.Split('`')[0];
:
- 개체가
IEnumerable<T>
:yourObject is IEnumerable<int>
을 구현하는지 확인하십시오. 이것은 컨테이너에있는 객체의 유형을 알고있는 경우에만 작동합니다 (이 경우) - 아래에서 설명한 동일한 해결책을 사용하여
StructContainer
을List
으로 변경하십시오.
두 번째 질문에 관해서는, 당신은이 작업을 수행 할 수 있습니다 : 그것은 내가이 될 수 의심 무엇인지를 알려줍니다
var yourObject = new StructContainer<int>();
var yourType = yourObject.GetType();
if(yourType.IsGenericType &&
yourType.GetGenericTypeDefinition() == typeof(StructContainer<>))
// ...
합니다. 어쩌면 내 첫 번째 질문은 그 문제를 혼란스럽게 만들었을 것이다. Type.Name과 비슷한 어떤 단서도 가지지 않고 포함하는 타입의 이름을 알아야한다. –
@Adriaan :'List
아니요,'List
- 1. 일반 데이터 가져 오기 도구
- 2. 플러그인 가져 오기 UTI 유형 가져 오기
- 3. 유형의 유형 가져 오기
- 4. 일반 객체 매개 변수의 실제 유형 가져 오기
- 5. Java 일반 컨테이너 클래스
- 6. Cocoa : Mime 유형 가져 오기?
- 7. Python 가져 오기 유형 감지
- 8. MySQL에서 변수 유형 가져 오기
- 9. Hpricot에서 요소 유형 가져 오기
- 10. .NET 스레드 유형 가져 오기?
- 11. 선택한 요소 유형 가져 오기
- 12. 생성되는 컨트롤러 유형 가져 오기
- 13. 'int'문자열에서 int 유형 가져 오기
- 14. 템플릿 MVC 3에서 컨테이너 모델 가져 오기
- 15. 예외 용 일반 컨테이너
- 16. C++ Templates - 컨테이너 유형 및 그 컨테이너 요소 유형 지정
- 17. "id"유형 객체의 속성 가져 오기 iphone
- 18. 일반 유형
- 19. 데이터 모델, 일반 컨테이너, C++
- 20. 일반 인터페이스 클래스 개체 가져 오기
- 21. 일반 TABLES를 사용하여 dataGrid1_SelectionChanged에서 값 가져 오기
- 22. 일반 클래스에서 속성 및 값 가져 오기
- 23. QString에서 HTML 태그로 일반 텍스트 가져 오기
- 24. 일반 사전 가져 오기 변환 오류
- 25. 히트 테스트 이벤트 유형 가져 오기
- 26. 모든 버튼 태그 유형 가져 오기
- 27. .NET 유형 가져 오기 인터페이스 선언
- 28. silktest에서 객체의 자식 유형 가져 오기
- 29. 콘텐츠 가져 오기 WCF 응답 유형
- 30. PHP : base64 문자열에서 이미지 유형 가져 오기
나는 이것을 할 필요가 없길 희망하지만, 나의 유일한 선택처럼 보이기 시작하고있다 ... –