2012年9月6日 星期四

C# - 如何知道泛型的型態?

因為某種需要,所以開了一個 table ,
在裡面的開了一個 varchar 的欄位,
雖然是 varchar 的型態,
但是實際上會存入各種資料型態 bool, int, decimal, string...
原本以前的笨蛋寫法會是像是下面這種直接回傳字串的宣告,


public string GetOptionValue(string optionName)


然後呼叫的人再去把字串轉型成自己要的型態。

不過我是一個很懶的人,
所以我想說如果每次要用的人都自己還要轉型,
我實在是很懶得每次都還要寫一樣的 code ,
雖然可能只是多了一行,但是我就是不爽寫!
那可以怎麼做呢?
這個時候我想到了也許可以利用泛型來處理,
泛型的宣告如下,


public T GetOptionValue<T>(string optionName)