我想能夠聲明泛型類與3級繼承 我無法獲得通用類型從繼承樹的頂部通過泛型。傳遞泛型類型向下類繼承
所以在這個例子動物類型是狗。 這將如何實現?
public class Animal<T> : MonoBehaviour where T : MonoBehaviour
{
}
public class Quadruped<T> : Animal<T> where T
{
}
public class Dog : Quadruped<Dog>
{
}
目前我不確定如何操作,這不是有效的
類型「T」不能用作泛型類型或方法「動物」類型參數「T」。沒有從'T'到'UnityEngine.MonoBehaviour'的裝箱轉換或類型參數轉換。 [大會-CSHARP]
那麼首先你需要對你的泛型類型爲'Quadruped'相同(或更嚴格的)約束有'動物'。然後,你需要'Dog'是一個'MonoBehaviour'這將是不可能的,除非它是一個接口。 – juharr
'Dog'可以從'Animal'直接繼承,一切都很好,但我想介紹'Quadruped'插圖中。 – Rob
我只是想知道,通用的優點是什麼?你爲什麼不直接推斷這個鏈條?謝謝 – Fattie