爲什麼Funky<T>
中的構造函數過載與參數動作有關,但子類FunkyAction
沒有?作爲構造函數中的泛型類型給出了編譯錯誤
class Funky<T>
{
readonly T _data;
public Funky(T data)
{
_data = data;
}
public Funky(Action action, bool imJustAnOverload)
: this(action) // cannot convert from 'System.Action' to 'T'
{
}
}
class FunkyAction : Funky<Action>
{
public FunkyAction(Action action)
: base(action) // no compile error
{
}
}
因爲'action'! ='T'在你的基類中。 'T'可以是任何東西。在你的派生類中'T'是一個'Action'。 –