public class Generic<T> {}
public class SubGeneric<T> : Generic<T> {}
以下所有都是假的:
typeof(Generic<>).IsAssignableFrom(typeof(SubGeneric<>));
typeof(SubGeneric<>).IsSubclassOf(typeof(Generic<>));
typeof(SubGeneric<>).BaseType.Equals(typeof(Generic<>));
第一個有意義的(直到混凝土它們是不可轉讓)。但爲什麼這兩個行爲呢?
所以BaseType不等價很清楚,謝謝。但IsSubclass的錯誤仍然是錯誤的。鑑於兩個GTD的關係,爲什麼這不顯示兩者之間的繼承語義? –
@Marc:看看我的例子。 'Wierd'不是'Generic <>'的子類;它是'Generic '的一個子類。 –
SLaks