我正在编写一个运行“事物”到时间表的应用程序。
想法是数据库包含程序集,方法信息以及参数值。计时器将出现,反射(reflect)要运行的方法,添加参数,然后执行该方法。
除了参数外,其他一切都很好。
因此,可以说该方法接受一个CustomerType的ENUM,其中CustomerType具有两个值CustomerType.Master和CustomerType.Associate。
编辑
我不知道将要传递的参数类型。以ENUM为例
结束编辑
我们要运行方法“X”并传递参数“CustomerType.Master”。在数据库中,将有一个“CustomerType.Master”的varchar条目。
如何将字符串“CustomerType.Master”转换为类型为“Master”的CustomerType类型?
提前致谢,
吉姆
最佳答案
我认为您有2种主要选择:
Type.GetType(string)
强制转换类型以解决相关类型。 我知道您已经声明您没有执行选项1,但是从调用函数的角度来看,这将有所帮助。
选项2是处理这种情况的更为“通用”的方式,假设所有值都可以由字符串表示并将其强制转换/转换为适当的类型。当然,只有在您实际控制所调用方法的定义时,这才有帮助。