【发布时间】:2011-02-07 16:48:50
【问题描述】:
public class ConfigControlBase<T> : UserControl
where T : ProviderBase
{
public T Provider { get; set; }
public void Init(T provider)
{
this.Provider = provider;
}
}
public abstract class ProviderBase
{
public abstract ConfigControlBase<ProviderBase> GetControl();
}
public class ProviderXConfigControl : ConfigControlBase<ProviderX>
{
}
public class ProviderX : ProviderBase
{
public override ConfigControlBase<ProviderBase> GetControl()
{
var confControl = new ProviderXConfigControl() as ConfigControlBase<ProviderX>;
return confControl;
}
}
return confControl; 抛出异常:
无法将类型
ConfigControlBase<ProviderX>隐式转换为ConfigControlBase<ProviderBase>
【问题讨论】:
标签: c# .net generics exception-handling