【发布时间】:2016-01-21 11:23:33
【问题描述】:
为什么Funky<T> 中的构造函数重载有action 参数的问题,而子类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。
标签: c# .net generics delegates