【发布时间】:2018-12-14 14:42:30
【问题描述】:
我正在将一些代码从我的主项目移动到一个 dll 中,以使我的应用程序更具动态性(该 dll 可以交换为另一个,类似于插件)。我的主项目中的几个子例程已捆绑到 dll 中,并且根据从主项目传递的变量运行不同的代码段。这又是从一个数据库中选择的,该数据库在加载时由 dll 更新,从而可以添加全新的功能而无需安装新版本的应用程序。
现在,除了从调用代码传递到 dll 中的子程序的参数外,该子程序中的代码还使用一些公开声明的变量的值,这些变量跟踪诸如输入数据的源路径之类的事情,是否用户对一些对象等进行了更改。在移动代码之前,这些是在我的主项目的模块中声明的。但是,我的 dll 中的子现在需要这些值。
我可以将所有这些变量值作为参数传递给 dll 中的 sub,即使它们中的大多数在每次调用时都不会被使用(因为我只对 dll 所做的一切使用一个 sub)。这似乎是最简单的解决方案。但是,我知道拥有 10 多个参数的方法被认为是不好的做法。或者我可以将公共变量移动到一个接口 dll(已经存在),我的主项目和我的 dll 都可以访问和更新那里的值。
就性能而言,哪个最好(或最不差)?其中一个选择是否会产生意想不到的后果?
【问题讨论】:
-
这给我的印象是你的方法是共享的。您应该将这些配置参数传递给对象的构造函数,并将这些值保留为类变量。然后,您的方法可以轻松地从类中获取值。
-
当有人告诉你时很明显。谢谢!
标签: vb.net parameters global-variables