8 public interface B
: A
{
12 public static int Main () {
13 Type int_type
= typeof (int);
14 Type obj_type
= typeof (object);
15 Type obj_arr_type
= typeof (object[]);
16 Type vt_type
= typeof (System
.ValueType
);
17 Type comp_type
= typeof (System
.IComparable
);
18 Type a_type
= typeof (A
);
19 Type b_type
= typeof (B
);
20 Type ptr_type
= typeof (int*);
21 Type ptr_arr_type
= typeof (int*[]);
24 if (!int_type
.IsSubclassOf(vt_type
))
27 if (!int_type
.IsSubclassOf(obj_type
))
30 if (int_type
.IsSubclassOf(comp_type
))
34 if (int_type
.IsAssignableFrom(vt_type
))
37 if (int_type
.IsAssignableFrom (obj_type
))
40 if (int_type
.IsAssignableFrom(comp_type
))
44 if (!int_type
.IsAssignableFrom(int_type
))
47 if (!obj_type
.IsAssignableFrom (int_type
))
50 if (!vt_type
.IsAssignableFrom(int_type
))
53 if (!comp_type
.IsAssignableFrom(int_type
))
57 if (a_type
.IsSubclassOf(b_type
))
60 if (b_type
.IsAssignableFrom(a_type
))
63 if (b_type
.IsSubclassOf(a_type
))
66 if (!a_type
.IsAssignableFrom(b_type
))
70 if (obj_type
.IsAssignableFrom(ptr_type
))
73 if (ptr_type
.IsAssignableFrom(obj_type
))
76 if (obj_arr_type
.IsAssignableFrom(ptr_arr_type
))
79 if (ptr_arr_type
.IsAssignableFrom(obj_arr_type
))