On a side note, the way your doing your fixed time step is wrong.
if(totalelapsedtime>=15)
{
Update (totalelapsedtime);
totalelapsedtime=0;
}
With your current code you really don't have a fixed time step. You should change your code to...
while (totalelapsedtime>=15)
{
Update (15);
totalelapsedtime -= 15;
}
From my point of view of C++ developer that's weird and totally unintuitive (especially since you can't disable the default constructor either)
I totally agree with you laurent, personally structures in c# have caused me more trouble than they are worth.