2016-07-10 8 views
1

外部データベースに接続されたWebServiceにメソッド "Insert"を作成しようとしていますが、InsertPerson、InsertAge、Insertを作成するのではなく、一意のInsertを実行しようとしています。例:dbに人を挿入する場合は、insert( "mytype" age)を挿入する年月日を挿入したい場合はInsert( "mytype" name)をコールし、特定のボタンをクリックするとこの型が含まれます。未定義型のメソッドを作成することは可能ですか?

紛らわしかったら、私はもう一つの例を説明しようとします: "Insert Age"ボタンをクリックします。 "mytype"はパラメータでテキストボックスの整数と値を送信し、コードはDBに接続し、それを挿入します。このような何か:

Clickイベント - > MYTYPE = int型
挿入(int型の年齢) - >

だから、すべてこの後、このようなものを作成することも可能である "dB値の年齢。INSERT INTO"?あるいは、もう一つの良い選択肢が存在するのだろ

答えて

2

代わりobjectでボクシングの、あなたは一般的にそれを行うことができます。

public void Insert<T>(T input) 
{ 
    // DB setup code goes here 
    var parameter = new SqlParameter("@input", input); 

    // Finish DB code here 
} 

// Call it like this 
myClass.Insert<int>(integerInputData); 
myClass.Insert<string>(stringInputData); 

をそれはオブジェクトでボクシングとアンボクシングよりもきれいです。

https://msdn.microsoft.com/en-us/library/twcad0zb.aspx

しかし、あなただけのobjectSqlParameterのように)、その後、あなただけのobjectでそれをボックスすることができます期待し何かにそれを渡している場合。

public void Insert(object input) 
{ 
    // DB setup code goes here 
    var parameter = new SqlParameter("@input", input); 

    // Finish DB code here 
} 

// Call it like this 
myClass.Insert(integerInputData); 
myClass.Insert(stringInputData); 
関連する問題