c# – 基于Typeof的工厂或是
发布时间:2020-12-15 23:51:03 所属栏目:百科 来源:网络整理
导读:在下面的代码中,我希望根据另一个类的类型返回派生类,这是一种更优雅的方式. if (option_ is Rectangle) { modelInputs = new Foo(); } else if (option_ is Circle) { modelInputs = new Bar(); } else if (option_ is Triangle) { modelInputs = new Bar2(
在下面的代码中,我希望根据另一个类的类型返回派生类,这是一种更优雅的方式.
if (option_ is Rectangle) { modelInputs = new Foo(); } else if (option_ is Circle) { modelInputs = new Bar(); } else if (option_ is Triangle) { modelInputs = new Bar2(); } 解决方法
有Rectangle,Circle和Triangle实现IHasModelInput:
interface IHasModelInput { IModelInput GetModelInput(); } 那么你可以做到 IModelInput modelInputs = option_.GetModelInput(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |