¿Por que c# no me permite esto?
List<State> _States = new List<State>();
public T Peek<T>() where T : State
{
return _States.First(s => (typeof(s) == typeof(T)));
}
Error 1 The type or namespace name 's' could not be found (are you missing a using directive or an assembly reference?) C:\Documents and Settings\blau\Escritorio\defense\Gameplay\States\StatesManager.cs 65 47 Gameplay
State es una clase base de la que heredan los diversos estados del juego.
Esto si me lo permite: return _States.OfType<T>().First();
El operador typeof espera el nombre de una clase, no un objeto. Para conseguir el tipo de un objeto se usa GetType() (haz s.GetType en vez de typeof(s) y listo :) ).
Uups, ^_^'
No me habia dado cuenta.
Gracias