动态菜单除了用反射就只能用CASE了吗?大家有什么好的经验
动态菜单除了用反射就只能用CASE了吗?大家有什么好的经验
switch (Module)
{
case "Main":
...
break;
难道除了反射,就只能像上面一样?
------解决方案--------------------为每个菜单单独添加点击事件即可,既然菜单可以动态生成,点击事件也可以,这样处理,点击效率极高,生成菜单速度慢了点但是一次性而已。
------解决方案--------------------
------解决方案--------------------
既然是动态添加,必然你希望在程序编译之后还能添加功能。这些编译的时候都不存在的东西,无论用什么方法,都只能反射。如果你编译之后不需要再添加新功能了。你可以硬编码所有可能用到的模块集合,在配置文件里面判断取舍。另外反射也没有什么不好,不要担心。
------解决方案--------------------如果你有一个很小的函数,频繁需要反射调用,的确性能有些影响。
但是对于插件程序,这种损耗可以忽略不计。