2010-04-23 56 views
3

我想第一次使用泛型,並嘗試將從數據庫返回的結果綁定到程序員定義的數據類型。我怎樣才能做到這一點。如何在這裏使用泛型

dsb.ExecuteQuery("DELETE FROM CurrencyMaster WHERE CurrencyMasterId=" 
     + returnValueFromGrid<int>(getSelectedRowIndex(), "CurrencyMasterId")); 

private T returnValueFromGrid<T>(int RowNo, string ColName) 
{ 
    return Convert.ChangeType(dgvCurrencyMaster.Rows[RowNo].Cells[ColName].Value, T); 
} 
+0

不要混合使用後引號和四空格縮進。只需要其中的一個來標記代碼。 – 2010-04-23 09:30:41

+1

只要'由Jon Skeet編輯'出現... – amelvin 2010-04-23 09:31:29

回答

3

您正在嘗試使用T作爲一種價值 - 你想要的類型T表示,然後你需要一個投以及:

object value = dgvCurrencyMaster.Rows[RowNo].Cells[ColName].Value; 
return (T) Convert.ChangeType(value, typeof(T)); 
+0

@Jon:Thx它的工作,我沒有想到,也有typeof。我正在使用getType。這裏我需要1個更多的青睞。我在哪裏可以在我的實時應用程序中使用泛型。在一些不同的情況下是否使用泛型或泛型? – 2010-04-23 09:34:32

+0

@Shantanu:我不確定你在問什麼。泛型確實用於各種不同的情況。集合是最常見的用途,但遠非唯一。 – 2010-04-23 09:36:28

+0

我想從數據庫庫中獲取一些具有不同數據類型的數據,比如說字符串,整型,二進制等,程序員在查看他/她需要顯示什麼值後將會指定這些數據,因此他將進行類型轉換和使用。它是一個用途還是應該由應用程序用戶而不是程序員完成 – 2010-04-23 09:39:26