TFS Get Latest Code: las propiedades de GettingEventArgs 'Total' y 'Current' no están visibles

He escrito código para obtener lo último de TFS usando las API del cliente. Me gustaría estar actualizado sobre el progreso y entiendo que se pueden usar las propiedades "Total" y "Current" de GettingEventArgs. Pero estas propiedades no son visibles durante el tiempo de diseño, sino solo durante el tiempo de ejecución (vea la imagen a continuación). Pero el evento en tiempo de ejecución, no puedo recuperarlos usando la reflexión como se indica a continuación.

    static void versionControl_Getting(object sender, GettingEventArgs e)
    {
        GettingEventArgs status = (GettingEventArgs)e;

        int curr = (int)status.GetType().GetProperty("Current").GetValue(status, null);
        int tot = (int)status.GetType().GetProperty("Total").GetValue(status, null);
     }

Esto no encuentra la propiedad y obtengo una referencia nula en "GetProperty". Espero que la sintaxis sea correcta.

Propiedades en reloj rápido

¿Alguna idea sobre cómo obtener estos valores de propiedad?

preguntado el 10 de marzo de 12 a las 08:03

Descubrí que los modificadores de acceso significan que las propiedades son "internas". Me pregunto por qué no hay equivalentes "públicos" o "accesibles" para estos. Todavía no he encontrado una manera de mostrar el "porcentaje de progreso"... -

Resultó ser bastante simple, algo que nunca había usado antes. Las Binding Flags permiten el acceso a propiedad interna/privada o de cualquier tipo. Ver respuesta a esta pregunta -

1 Respuestas

Hay un error en Estado de GettingEventArgs = (GettingEventArgs)e;. probablemente menciones

OperationStatus status = e.Status;

respondido 12 mar '12, 11:03

Nikola, OperationStatus solo muestra el estado actual, como "Obteniendo", pero no proporciona una forma de obtener el "progreso porcentual". GettingEventArgs, mientras que tiene las propiedades "Total" y "Current", pero son "internas". Parece que no encuentro nada que pueda proporcionar el total/actual o el porcentaje de progreso. Subí esto por esto (social.msdn.microsoft.com/Forums/eu/tfsversioncontrol/thread/…) Consulta de blog de MSDN que dice "es posible" - Lalman

Como Actual y Total no son públicos, debe llame a esta sobrecarga de GetProperty() una. - Nikola Markovinovic

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.