0

我有一大堆假设特定连接字符串的数据库访问函数。在我的应用程序中,我调用

myList = DB_MyTable.GetTableItems()

GetTableItems()我里面有类似的东西

Dim connection As SqlConnection = MyDB.GetConnection

所以连接字符串在代码中的一个地方,我调用一个方法来获取它。

我现在遇到的是我想重用相同的数据库函数,但使用不同的连接字符串。我可以DB_MyTable.GetTableItems()轻松地重写所有函数,因为它们是从脚本生成的,但是在主应用程序代码中,我需要处理现在需要知道我想使用什么连接字符串的每个函数调用。

我尝试将参数更改为GetTableItems()这样:

Public Shared Function GetTableItems(Optional ByVal useThisString as String = MyDB.GetConnection) As List(Of MyItems)

希望能够在默认情况下传入我已经在大多数代码中使用的字符串,但是我收到一个错误,说默认值必须是一个常量表达式。这意味着在任何地方都添加一个特定的连接字符串,这是我不想做的。

有没有办法完成我所追求的,或者我需要使连接字符串成为必需的参数并更改我的应用程序中的所有调用以匹配新签名?

一如既往的感谢!

4

1 回答 1

1

您可以将默认值设为空字符串吗?然后,在您的函数中,如果 useThisString 变量为空,则使用默认值,否则使用您传入的变量?更脏一点,但几乎没有。

于 2010-07-15T18:44:16.100 回答