我正在将一些代码从我的主项目移到dll中,以使我的应用程序更具动态性(该dll可交换为另一个插件,类似于插件)。我的主项目中的几个子例程已捆绑到dll中的一个子例程中,并且根据从主项目传递的变量来运行不同的代码段。反过来,这是从dll加载时更新的数据库中选择的,从而无需添加新版本的应用程序即可添加全新的功能。
现在,除了将参数从调用代码传递到dll中的子例程之外,该子例程中的代码还使用一些公开声明的变量的值来跟踪诸如输入数据的源路径之类的内容,无论用户是已经对某些对象等进行了更改。在移动代码之前,这些已在我的主项目的模块中声明。现在,我的dll中的子项需要这些值。
我可以将所有这些变量值作为参数传递给dll中的子对象,即使每次调用时都不会使用它们中的大多数(因为我仅使用一个子对象来执行dll的所有操作)。这似乎是最简单的解决方案。但是,我知道拥有带有类似10个以上参数的方法被认为是不好的做法。或者,我可以将公共变量移动到接口dll(已经存在)中,我的主项目和dll都可以在其中访问和更新其中的值。
就性能而言,哪个最好(或至少最差)?其中一种选择会产生意想不到的后果吗?
答案 0 :(得分:1)
这给我的印象是您的方法可以共享。您应该将这些配置参数传递给对象的构造函数,并将这些值保留为类变量。然后,您的方法可以轻松地从类中获取值。
Class SomeClass
Public Sub New(ByVal someParameter As String)
Me.SomeParameter = someParameter
End Sub
Public ReadOnly Property SomeParameter As String
Public Sub SomeMethod()
' Can use Me.SomeParameter here
End Sub
End Class