¿Cómo sabe un cmdlet cuando realmente debe llamar al WriteVerbose()
, WriteDebug()
y etc.?¿Cómo sabe un cmdlet cuándo debería llamar realmente a WriteVerbose()?
Quizás extraño algo simple pero no puedo encontrar la respuesta. Todas las implementaciones de cmdlet que he visto hasta ahora solo llaman al WriteVerbose()
sin ninguna duda . Sé que es correcto para hacerlo, pero no es efectivo.
La ejecución se ve afectada cuando el modo detallado está desactivado, pero un cmdlet aún prepara los datos para la llamada WriteVerbose()
, es decir, para nada.
En otras palabras, en un cmdlet Me gustaría ser capaz de:
if (<VerboseMode>)
{
.... data preparation, sometimes expensive ...
WriteVerbose(...);
}
Pero no sé cómo conseguir este if (<VerboseMode>)
. ¿Algunas ideas?
Conclusión: respuesta de @ El Stej muestra cómo obtener la información requerida en la teoría. En la práctica, esto es raro e improbable. Por lo tanto, si un cmdlet produce una salida verbosa o de depuración realmente costosa, parece razonable introducir un parámetro adicional que especifique los niveles de detalle.
No estoy de acuerdo con su conclusión. Ver mi respuesta para una solución. –