このメソッドをジェネリックにすることはできますか?
public static List<int> GetUnshippedOrders(string server,string port,string database,string username,string password, string orderStatus)
{
var orderNumbers = new List<int>();
using (var conn = ConnectToMySql(server, port, database, username, password))
{
var command = new MySqlCommand("SELECT OrderNumber FROM orders WHERE OrderStatus = @orderStatus;", conn);
command.Parameters.AddWithValue("@orderStatus", orderStatus);
var reader = command.ExecuteReader();
while (reader.Read())
{
orderNumbers.Add(Convert.ToInt32(reader[0]));
}
}
return orderNumbers;
}
接続されているデータベースのスキーマに応じて参照される注文番号が変わるため、さまざまなリターンタイプを処理できるようにしたいので、可能なリターンタイプごとにこのメソッドをオーバーロードする必要はありません(さらに、学習したいジェネリック)。
データベーススキーマはさまざまなWebサービスによって決定されますが、いずれも私の管理下にはありません。また、特に注意すべき点として、orderStatusはさまざまなタイプにすることもできます(主にstringとint)