À votre santé! J'ai eu deux énumérations, décrivant mes entityes: Les joueurs et fusils types:C# enum comme générique
public enum PlayersType {
Scout,
Tank
}
public enum GunsType {
Machinegun,
Tesla
}
J'ai eu un générique d'une classe générique struct, et 2 réalisations de celui-ci:
public class EntityType<T> where T: struct, IConvertible {
public GameObjectType ObjectType;
}
public class PlayerEntity: EntityType<PlayersType> { }
public class TowerEntity: EntityType<GunsType> { }
Et je veux créer class, qui possède un champ EntityType et une classe ScriptableObject héritée.
Je l'ai fait:
public class ObjectTypeConfig: ScriptableObject
{
public EntityType<Enum> EntityType;
}
Mais son erreur de retour:
The type 'System.Enum' must be a non-nullable value type in order to use it as type parameter `T' in the generic type or method.
Est-ce que quelqu'un sait comment puis-je créer le terrain nécessaire? Par conséquent, je veux créer une classe, qui aura un tableau de ObjectTypeConfigs, contenant des entités Players et Towers.
Avez-un des Les réponses suivantes vous ont aidé à comprendre et à résoudre le problème? –