이 참조 된 클래스 System.Type의 데이터 유형을 얻는 것입니다.
1 GetType을 () 객체로부터 상속 방법이므로 GetType을 () 메소드와 C에서 # 개체, x는 변수 이름 x.GetType ()
2의 typeof (x)는 X 방향, 등의 특정 클래스 명, 형명, 있어야 변수 이름 수 없다
3 System.Type.GetType (), 오버로드 된 두 방법이있다
예를 들면 변수 I :
INT16 INT16 새로운 새로운 I = ();
GetType을 (), i.GetType을 () 반환 값 유형 INT16의,하지만 대해서 typeof (I)를 사용할 수 없습니다 사용, 내가 변수 때문에,
대해서 typeof (INT32), 동일의 반환 유형 INT16은 다음과 같습니다 대해서 typeof ()를 사용하여, 그것은 단지 수 있습니다.
열거 형 변환 시리얼 포트의 패리티에 예를 들어, String-- 열거 클래스,
objParity = (패리티) Enum.Parse ( 대해서 typeof (패리티), " 9600 " );
유형 속성 취득 클래스는, 위의 예에서 획득 또는 대해서 typeof 것을 제외하고 완전한 정보를 제공하기 위해 문자열 클래스가, 인수 클래스 이름을 입력
// 현재의 방법은 네임 스페이스 클래스의 전체 이름을 포함 얻을
문자열 클래스 명 = System.Reflection.MethodBase.GetCurrentMethod () DeclaringType.FullName ;. // . 네임 스페이스의 클래스를 얻을
; 유형 유형 = Type.GetType (클래스 명) // 로 클래스와 클래스 명에게 같은 이름을 가져옵니다
객체 (유형의) OBJ = System.Activator.CreateInstance; //이 인스턴스를 생성
엔티티 클래스 개체에 개체 개체
개인 의 T ConvertObject <T> ( 오브젝트 asObject를) WHERE T : 새 새 () { // 엔티티 객체 인스턴스 생성 var에 T를 = Activator.CreateInstance로 <T> (); IF (! asObject = 널 (null) ) { 유형 유형 = asObject.GetType ( ) // 대하여 반복 엔티티 객체 속성 foreach는 ( VAR의 정보 에 대해서 typeof (T) .GetProperties ()) { 오브젝트 OBJ = 널을 ; // 객체를 취득이 오브젝트의 속성 값 VAR을브로 = type.GetProperty (info.Name)? .GetValue (asObject); 경우 (발! = null이 ) { // 非泛型 경우 (! info.PropertyType.IsGenericType) OBJ = Convert.ChangeType (발, info.PropertyType); 다른 // 泛型null 허용 <> { 유형 genericTypeDefinition = info.PropertyType.GetGenericTypeDefinition (); 경우 (genericTypeDefinition == 대해서 typeof (null 허용 <> )) { OBJ= Convert.ChangeType (계산해 Nullable.GetUnderlyingType (info.PropertyType)); } 다른 { OBJ = Convert.ChangeType (계산해 info.PropertyType); } } info.SetValue (t, OBJ, 널 ); } } } 반환 t을; }