【发布时间】:2014-07-17 06:03:15
【问题描述】:
我有一个方法如下,它有点像工厂,给定一个字符串类型,我返回一个实现 IWorkerJob 的具体类型。有没有比使用带有 60 种类似情况的 switch 语句更好/更清洁的方法来做到这一点,也许是某种查找?
private static IWorkerJob GetWorkerJob(string type)
{
switch (type)
{
case WorkerJobType.IMPORT_GOOGLE_JOB:
return new ImportGoogleJob();
case WorkerJobType.IMPORT_XYZ_JOB:
return new ImportXyzJob();
....
default:
return null;
}
}
【问题讨论】:
-
我认为你现在拥有的一切都很好,真的。只要可读。也许另一种选择是使用反射并根据枚举名称创建类型,但是我不确定这是一种真正“更好/更清洁的方式”:)
标签: c# .net windows windows-services