C#抽象泛型类创建派生实例
我有一个抽象类,另一个抽象类C#抽象泛型类创建派生实例,c#,generics,abstract,C#,Generics,Abstract,我有一个抽象类,另一个抽象类 public abstract class CConfig<T_RESP> where T_RESP : CLinkResp { public abstract Boolean Exec(out T_RESP oResp); } public class CConfigUnrecognized : CConfig<CLinkRespNone> { public override Boolean Exec(out CLinkR
public abstract class CConfig<T_RESP> where T_RESP : CLinkResp
{
public abstract Boolean Exec(out T_RESP oResp);
}
public class CConfigUnrecognized : CConfig<CLinkRespNone>
{
public override Boolean Exec(out CLinkResp oResp)
{
...
}
}
public class CConfig...
在调用此关联的Exec(…)函数之后
但是,在这种情况下,我有一个错误:
CS0029无法隐式地将类型CConfigunRecognited转换为CConfig
我可以使用抽象类和泛型类型只调用一个执行器吗
提前谢谢
Eric.执行类似于
CConfig oConfig=new cconfiguncorrecogned()代码>应该可以工作。你能给出一个完全重现你的问题的例子吗?这不应该编译,因为cconfigunsrecogned.Exec
应该使用clinkrespone
来覆盖CConfig.Exec
。如果我解决了这个问题,那么肯定会编译。您发布的代码没有显示您遇到的确切问题。考虑一下你没有处理你认为你正在处理的<代码> CCONFIG <代码>的可能性。谢谢你的回答**朱哈尔:我不能写“代码> CCONFIG OCONFIG=新的CCONTUMIGN < <代码>因为OCOFIG已经存在。** Jeroen Mostert:我有很多开关案例创建了新的CCONFIG://创建对应的对象并执行它函数switch(iType){//Kills case K_APP_KILL_STD:oConfig=new CConfigKillStd(oLstCmdLine);break;case K_APP_KILL_SMART:oConfig=new CConfigKillSmart(oLstCmdLine);break;case K_APP_KILL:…}/code>//我想执行一个ExecoConfig.Exec()代码>谢谢。。。
CConfig<CLinkRespNone> oConfig;
oConfig = new CConfigUnrecognized(oLstCmdLine);