2012-04-29 21 views
10

¿Cuál es el reemplazo de WinRT para System.Environment.TickCount?WinRT Reemplazo de System.Environment.TickCount

+0

¿Para qué lo necesitas? Para muchos usos 'DateTime.UtcNow' está perfectamente bien, pero no es equivalente. – CodesInChaos

+1

DateTime.UtcNow no es un reemplazo si necesita tiempo monótono. UtcNow es un valor arbitrario. – usr

+0

TickCount también es un valor arbitrario. DateTime.UtcNow.Tick es monotónico. –

Respuesta

7

Debe estar disponible, porque es isn't a problem. Pero no lo es, un HangUp [TypeForwardedTo] supongo porque GetTickCount() no está en la lista blanca y .NET nunca adoptó GetTickCount64. El respaldo estándar funciona bien, puede usar pinvoke the call como la función nativa de Windows. Verifiqué que un programa que lo utiliza supera la prueba del Kit de certificación de aplicaciones de Windows.

[System.Runtime.InteropServices.DllImport("kernel32.dll")] 
    private static extern long GetTickCount64(); 

Tenga en cuenta que devuelve un largo, no un int. Simplemente puede convertir a int para truncar si eso es importante en C# (pero no en vb.net, simplemente mienta sobre el tipo de devolución)

+0

Así que estoy confundido. Si están autorizados para las aplicaciones Metro, ¿por qué no está presente en las API C# de forma predeterminada? –

+0

Traté de explicarlo en la respuesta. No dispare el messenger, prefiero respuestas que resuelvan un problema. –

+0

Sí, lo siento. No quise arpa contigo. Me pregunto si esto cambiará con el lanzamiento final. Gracias sin embargo. –

1

Parece que System.Environment.TickCount ahora es compatible con las aplicaciones de Windows 8 Windows store.