Yes, what I meant with the "First" LINQ extension was actually the method CALLED First:
var y = myList.First(x => x.ID == id);
or
var y = myList.FirstOrDefault(x => x.ID == id);
This is getting weird... Have you done a clean solution and then a rebuild solution?
This just gets stranger :
EngineObject elObjectO = objectList.First( x => x.ID == objectId );
Works perfectly, as does :
EngineObject elObjectO = objectList.FirstOrDefault( x => x.ID == objectId );
Just not :
EngineObject elObjectO = objectList.Find( x => x.ID == objectId );
I thought it might be something to do with EngineObject being abstract... but no.
And yeah, I've cleaned my solution and rebuilt... I also reboot my PC