Tôi cần phải tìm xem loại có phải là loại chung nhất định hay không.Kiểm tra xem hai loại chung có bằng nhau không
class MyType<T> {}
var instance = new MyType<int>();
var type = instance.GetType();
Kiểm tra này không hiệu quả, nhưng đây là những gì tôi muốn kiểm tra. Nếu loại này thuộc loại chung chung, bất kể loại T
là gì.
type == typeof(MyType<>)
Điều này có tác dụng nhưng cảm thấy bẩn. Nó cũng có thể sai vì nó không phải là FullName
.
type.Name == typeof(MyType<>).Name
Tôi giả sử có cách để thực hiện việc này nhưng tôi chưa tìm thấy. Sử dụng IsAssignableFrom
sẽ không hoạt động, bởi vì tôi cần biết loại hiện tại và không phải là một trong số đó là cha mẹ, đều bình đẳng.