Tôi muốn so sánh loại đối tượng với một kiểu để xem chúng có giống nhau hay không. Tôi không có đối tượng, chỉ là loại đối tượng.Toán tử "is" hoạt động như thế nào trong nội bộ
tôi có thể làm type1 == type2
và nhận được sự bình đẳng chung
tôi có thể có một vòng lặp đệ quy mà tôi lặp lại các bước trên cho đến khi type1.BaseType
BaseType là null.
tôi có thể làm type1.GetInterface(type2.FullName) != null
để kiểm tra xem type2 là một giao diện của type1
Nếu tôi đặt nó tất cả cùng nhau, tôi nhận được
if (type2.IsInterface)
return type1.GetInterface(type2.FullName) != null;
while (type1 != null) {
if (type1 == type2)
return true;
type1 = type1.BaseType;
}
return false;
Có phải đó là tất cả các từ khóa is
là. Tôi không thể tìm thấy từ khóa đúng để cắm vào tìm kiếm Phản xạ để tìm hàm và tìm kiếm trên google "is" không thực sự hữu ích
Điều đó phụ thuộc vào ý nghĩa của từ 'là' là –
+1 thú vị. Tuy nhiên, tôi cho rằng từ khóa "is" được thực thi nguyên bản trong thời gian chạy và không sử dụng sự phản chiếu. – tster
Tôi không bao giờ nghĩ rằng tôi muốn thấy một báo giá Bill Clinton có liên quan về SO. –