Tengo una aplicación que está utilizando la reflexión básica hoy para tomar clases.¿Type.GetType() disminuirá en función del tamaño y la complejidad del objeto que está recuperando?
Type type = Type.GetType(mynamespace.myclassname);
object o = System.Activator.CreateInstance(type);
quería ver cuán eficiente es el reflejo estaba corriendo por lo que me genera cerca de 150.000 objetos de esta manera para ver si el rendimiento nunca degrada y el rendimiento fue rápido y constante.
Sin embargo, esto me hizo pensar: ¿Se ralentizará la llamada a Type.GetType() en función del tamaño y la complejidad de la clase que se pasa al método GetType()?
Por ejemplo: digamos que queríamos usar GetType() para recuperar una clase compleja compuesta por 30 variables privadas, 30 métodos privados y 30 métodos públicos frente a una clase que tiene solo un público muy simple Add (int, int) método que resume dos números.
¿Type.GetType disminuiría significativamente si la clase que se pasa es una clase compleja frente a una clase simple?
gracias
'GetType()' o 'CreateInstance()'? –
Creo que GetType se resuelve en tiempo de compilación y CreateInstance usa metadatos para que no haya iteración sobre las propiedades de clase, como parece implicar. Puede alguien confirmar esto? (Por cierto, voté a favor, no a la baja, ya que es una pregunta interesante) – Lloyd
Lamento cualquier confusión en mi redacción anterior. Me refiero específicamente a la llamada al método GetType() antes de cualquier creación de instancias a través de System.Activator.CreateInstance(). Gracias – Matt