在泛型类中声明静态泛型变量
2022-09-04 08:36:59
我已经读到你不能在泛型类中声明静态变量/方法,我真的不知道如何解决我的问题或解决它,所以我请求你的指导。
我想要的是一个通用的“索引”,我所有的核心类都将扩展它。我正在创建一个游戏引擎,一个例子是,我将有不同的游戏状态,这些状态都扩展了谁又扩展了。我想要静态的头部和尾部的原因是,我可以保留所有游戏状态的链接列表,因为它们在创建时都会添加到该列表中。State
Nexus<State>
另一个例子是,我将有不同的游戏对象,他们都扩展谁反过来扩展。GameObject
Nexus<GameObject>
这是名为:Nexus
public abstract class Nexus<T>
{
private static T head = null;
private static T tail = null;
private T next = null;
private static int num = 0;
protected Nexus() { this.Add( (T)this ); }
public T Add( T obj )
{
((Nexus)obj).next = null;
if( num++ == 0 ) head = tail = obj;
else tail = ( tail.next = obj );
return obj;
}
}
如果有人有其他解决方案或解决方法,我全都洗耳恭听!