Tengo un static class
con static private readonly
miembro que se establece a través de la clase static constructor
. A continuación se muestra un ejemplo simplificado.¿Es posible configurar este miembro privado estático de una clase estática con reflexión?
public static class MyClass
{
private static readonly string m_myField;
static MyClass()
{
// logic to determine and set m_myField;
}
public static string MyField
{
get
{
// More logic to validate m_myField and then return it.
}
}
}
Puesto que la clase anterior es una clase estática, no puede crear una instancia de la misma con el fin de utilizar tal extremo en una llamada FieldInfo.GetValue()
para recuperar y posteriormente establece el valor de m_myField
. ¿Hay alguna manera de que no sepa utilizar la clase FieldInfo para obtener y establecer el valor en una clase estática o la única opción es refactorizar la clase que me pidieron que haga la prueba unitaria?
¿Por qué ¿Quieres una instancia para obtener información de reflexión? simplemente diga 'typeof (MyClass)' y listo, vaya a los bits divertidos de la API de reflexión ... – flq
+1 y aceptaría la respuesta si fuera así ya que no me daba cuenta de que se podía usar un Tipo en Get/SetValue y no tiene que ser una instancia de la clase en sí. Gracias – JamesEggers