¿Cómo usaste el reflejo en una aplicación de producción de trabajo durante el día en C #?

Atributos

El uso de atributos (personalizados) induce el uso de la reflexión. Por lo general, la reflexión ocurre en el código de terceros, pero el bajo número de bibliotecas de terceros para Unity significa que reinventar la rueda no es raro. El ejemplo está abajo.

Gestión de dependencias

La falta de capacidad para usar la inyección de dependencias de construcción mientras se programa para Unity significa que cada instancia tiene que inicializarse encontrando dependencias en la escena y extrayendo dependencias de singletons.

Puede reducir en gran medida la cantidad de código similar en cada clase implementando la inicialización de dependencia automática. Marca un campo / propiedad con un atributo que describe el origen de la dependencia (desde singleton, buscar en escena, buscar en objetos secundarios, etc.) y en la llamada de inicialización solo un método de extensión que itera a través de cada campo / propiedad marcado, establece correctamente valor para ello.

Usar miembros ocultos

Se puede decir que si un miembro está oculto, hay una buena razón detrás de él, pero no es exactamente cierto sobre la API del motor de Unity, especialmente la API del editor de Unity. Algunos métodos están innecesariamente ocultos y pueden ser realmente útiles al extender la funcionalidad del editor. Muchas de las extensiones de editor de terceros para Unity también están llamando a métodos ocultos. Aún más, a veces es necesario llamar a métodos ocultos en el juego en sí, no solo en las extensiones del editor, porque si lo niegas como características no compatibles, tendrás que hacer tu propia implementación de sistemas integrados o usar alternativas de terceros .

Agregar controlador de eventos sin parámetros a cualquier evento

Cada evento acepta solo controladores que coinciden con el delegado declarado, pero ¿qué sucede si no le importan los posibles parámetros, es decir, si desea reaccionar en múltiples eventos completamente diferentes de la misma manera, independientemente de cualquier cosa?

Puede ajustar dinámicamente su controlador de eventos universal en exactamente el delegado que el evento exige: Suscribir una Acción a cualquier tipo de evento mediante reflexión.

Enlace similar a WPF

Al menos un sistema de encuadernación muy simple ya es útil si tiene alguna GUI con controles deslizantes, por ejemplo. Se puede implementar de manera diferente, pero si describe las propiedades de origen / destino para el enlace por sus nombres, el sistema de enlace tendrá que usar la reflexión, obviamente.

Yo uso la reflexión solo para crear instancias. No invoco métodos a través de la reflexión. No es rapido.

Por lo general, tengo supertipos (clases abstractas o interfaces) que se crean a través de la reflexión y luego invoco los métodos del supertipo.

He visto personas que usan la reflexión para descubrir y analizar ensamblajes. Quieren encontrar clases que hereden algún tipo específico. Se usa cuando está configurando algo y puede elegir qué “implementación” está disponible para usar.

More Interesting

¿Por qué las personas son rechazadas cuando están sobrecalificadas para un trabajo?

¿Entrarías en una empresa y pedirías trabajo?

¿Cómo debería alguien con 2 años de experiencia laboral escribir su currículum para solicitar un puesto de consultoría de posgrado?

¿Las personas que van a los IIM realmente se apasionan por la administración o van allí solo por trabajos bien remunerados?

¿Debería prohibirse el acuerdo de no competencia en todo Estados Unidos?

¿Cómo obtendré capacitación de pasantías de verano en una compañía como Aircel o Tatadocomo, ya que soy un estudiante de ECE con un CGPA de 7.8 hasta 6 semestres?

Después de unirme a Cognizant como PAT, ¿iré al sitio después de 3 años? ¿Debo dejar una oferta de otro proveedor de servicios similares que pague a MNC, dando a mi ciudad natal como lugar de unión, para unirme a CTS en Chennai en el lugar?

¿Por qué debería unirse a Infosys?

¿Gastar más en estudios superiores conducirá a un empleo adecuado en el futuro?

Cómo conseguir un trabajo en los EE. UU. Después de hacer un MBA en India

¿Se negaría a contratar a alguien si ha estado en la universidad continuamente durante seis años y todavía no tiene título? ¿Considerarías esa prueba de que son irresponsables?

¿Cómo puedo prepararme para ser ingeniero de software en Google?

¿Es posible tener éxito en la contabilidad si solo estoy 'OK' en matemáticas?

¿Por qué se unió Higuaín a Napoli?

Cómo pasar de tener el conocimiento de programación rudimentario a 'programador versátil' en mi nuevo trabajo