Obtenga la próxima fecha / hora en la que se produce una transición de horario de verano

Me gustaría escribir (o usar si ya existe) una función en C # que devuelve la fecha / hora de la próxima transición DST dada unaSystem.TimeZoneInfo objeto y un tiempo particular "a partir de" en esa zona horaria. El tiempo devuelto debe estar en la zona horaria proporcionada. La función que quiero tiene esta firma:

public DateTime GetNextTransition(DateTime asOfTime, TimeZoneInfo timeZone)
{
    // Implement me!
}

Por ejemplo, si paso el objeto TimeZoneInfo "Hora estándar del Este" y 21/01/2011 a las 17:00 como "asOfTime", espero que esta función devuelva 13/03/2011 a las 2:00.

losSystem.TimeZoneInfo.TransitionTime La estructura parece tener toda la información que necesito, pero idealmente habría algún tipo de mecanismo incorporado para convertir la regla en una fecha real. ¿Alguien tiene alguna sugerencia?