我想写一个通用的方法,所以我可以避免代码重复。泛型方法必须能够接受三种不同的网格视图类型中的一种,但是我不能在泛型方法的开始时使用以下强制转换工作;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