我想寫一個通用的方法,所以我可以避免代碼重複。泛型方法必須能夠接受三種不同的網格視圖類型中的一種,但是我不能在泛型方法的開始時使用以下強制轉換工作;C#泛型 - 接受不同類型
var grid;
if (typeof(T) == typeof(GridView))
{
grid = (GridView)gridView;
}
else if (typeof(T) != typeof(BandedGridView))
{
grid = (BandedGridView)gridView;
}
else if (typeof(T) != typeof(AdvBandedGridView))
{
grid = (AdvBandedGridView)gridView;
}
else return;
如何將「網格」投射到三種類型中的任何一種,以便我可以對它們做些什麼。我仍然試圖理解泛型背後的想法和概念。
這三種類型是否具有相同的接口(不是語言意義上的接口,而是API意義上的接口)? – 2010-12-03 05:59:08
你不能聲明一個var,然後初始化它。兩者應該在一個單獨的步驟中完成。就像var a = 100 – 2010-12-03 06:01:09