Ich versuche, in C# Generika zu bekommen und habe eine Zustandsmaschine mit dem Zustandsmuster erstellt und jetzt versuche ich zu refactor.C# Generika, Querverweis Klassen für Zustandsmuster
Ich habe einen Zustand, der einen Verweis auf das Objekt hat, an dem es arbeitet.
und ich habe das Objekt, das Staaten hat, sollte dies einen Verweis auf seinen aktuellen Zustand haben.
public abstract class StatefulObject<T> : MonoBehaviour where T : AbstractState<StatefulObject<T>> {
public T state;
}
Aber es funktioniert nicht („der Typ kann nicht als Typ-Parameter‚t‘verwendet wird, in dem generischen Typ oder Methode“).
Was ich will, ist, so etwas erreichen:
public class Monster : StatefulObject<MonsterState> {
}
public abstract class MonsterState : AbstractState<Monster> {
}
Ist das möglich? Wenn es nicht so ist, gibt es einen anderen? Danke.
Wie deklarieren Sie 'StatefulObject' als generischen Typ (2.Snippet) und verwenden es als nicht-generischen Typ (1.Snippet)? –