我有这个通用类:
public class Grid<TGridObject> {
public int Width { get; set; }
public int Height { get; set; }
public float CellSize { get; set; }
}
我想创建另一个名为GridDebugger的类,它的作用是根据Grid类的设置和内容绘制线条和文本。 所以最终我会有这样的事情:
public class GridDebugger {
private Grid<TGridObject> grid
public void DebugGrid(){
//debug the grid
}
}
问题是我当然不能用 TGridObject 声明,因为它不存在于当前内容中,我可以将该行更改为:
private Grid<bool> grid
现在我有一个 bool 网格,我可以调试它,但我想要一个通用的 gridDebugging 类,可以使用任何网格类型。
这可能吗?
谢谢
答案 0 :(得分:1)
你是说下面的代码吗?
public class GridDebugger<TGridObject> {
private Grid<TGridObject> grid
public void DebugGrid(){
//debug the grid
}
}
答案 1 :(得分:0)
如果您想使用 GridDebugger
调试任何网格类型,那么使用通用 DebugGrid
方法可能比使用通用网格成员更好。
public class GridDebugger
{
//stuff
public void DebugGrid<TGridObject>(Grid<TGridObject> grid) { //stuff }
}
此时您可以调试具有相同 GridDebugger
的任何类型的网格,只要没有特定于 TGridObject
类型的逻辑即可。