我意識到標題可能非常混亂,所以要解釋我想要做什麼,我將說明如何在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#的新手,但我學得很快。