我意识到标题可能非常混乱,所以要解释我想要做什么,我将说明如何在PHP中轻松解决相同的问题。切换不同的方法,但使用相同的名称 - C#
例如我给我的应用程序的用户选择数据库类型(即MySQL,MSSQL等)。
在我的代码中,我想每个操作只有一个函数,而不是每个数据库的函数,下面将对此进行说明。
不
main.php
<?php
function mysql_get_users() {
//Foo
}
function mssql_get_users() {
//Foo
}
if($dbtype == "mysql") {
echo mysql_get_users();
}
if($dbtype == "mssql") {
echo mssql_get_users();
}
?>
但
main.php
<?php
if($dbtype == "mysql") {
include("mysql.php");
}
if($dbtype == "mssql") {
include("mssql.php");
}
echo get_users();
?>
mysql.php
<?php
function get_users() {
//Foo
}
?>
mssql.php
<?php
function get_users() {
//Foo
}
?>
现在我使用Visual Studio 2010。既然不能做到这一点有同样的问题,但在C#:
if(dbtype=="mysql") {
public static MySqlConnection connect(String connectionString)
{
MySqlConnection connection = new MySqlConnection(connectionString);
connection.Open();
return connection;
}
}
上述的大问题特别是我不能把一个if-clause围绕一个方法(函数),那么我必须面对每种数据库类型独有的类型问题,因为我必须在每个与数据库函数相关的方法中包含返回的连接变量。
那么,有关如何解决这个问题并使其像上面的PHP示例一样工作的任何想法?我既不是专家,也不是C#的新手,但我学得很快。