2011-02-02 48 views
5

Tôi đã có một lớp trông khá như thế này:So sánh hai loại

object value; 
Type type; 

Khi tôi tạo ra các đối tượng tôi đặt loại để loại đối tượng.

Làm cách nào để so sánh loại này với loại khác?

Nếu ví dụ loại là String:

type.Equals(String) 

type == String 

không hoạt động.

Trả lời

11

Trong ngữ cảnh này, bạn so sánh ví dụ Type của mình với kết quả là typeof(T), trong đó T là loại bạn muốn so sánh.

bool objectIsString = myType == typeof(string); 
1

tốt này nên làm việc

bool isSameType = (value != null && value.GetType() == type); 
0

Type.Equals() đòi hỏi rằng bạn cũng vượt qua một loại. Do đó, biến chuỗi thành một loại:

type.Equals(GetType(string)) 
0
if(typeitem is string) 
{ 
    // Your Code 
}