2012-04-10 12 views
11

me encuentro haciendo lo siguiente con la suficiente frecuencia que siento que tiene que haber una solución automatizada:¿Hay alguna herramienta que implemente una interfaz envolviendo un campo o propiedad miembro?

Tengo una clase de contenedor, por ejemplo ListWrapper, que envuelve un IList:

public class ListWrapper : IList 
{ 
    private IList _list; 

    // ... Implement IList by redirecting every call to _list 
} 

¿Hay alguna herramienta por ahí que generará automáticamente esta implementación?

+1

¿Quiere decir: generar esas 7 palabras para usted? –

+1

Imagino que podría hacerse rápidamente con una plantilla T4. Los marcos como CSLA también tienen una funcionalidad como esta, aunque pueden ser excesivos para sus necesidades. – David

+0

@David Creo que T4 es la mejor manera de ir – MilkyWayJoe

Respuesta

15

Usando ReSharper, dentro de la clase golpeó "alt-insert" y luego seleccione "miembros delegan".

+0

@afeygin ¿qué está relacionado con la programación en esa respuesta? usando menús de una herramienta? –

+5

@ L.B: Stack Overflow es para programadores profesionales y entusiastas, personas que escriben código porque les encanta. Nos sentir las mejores preguntas del desbordamiento de pila tienen un poco de código fuente en ellos, pero si su pregunta generalmente cubre ... un problema de programación específica un algoritmo de software ** herramientas de software utilizadas por los programadores ** , problemas prácticos que respondibles son exclusivos de la profesión de programación ... ¡entonces estás en el lugar correcto para hacer tu pregunta! – afeygin

+0

@ L.B Solo quería recordarle las pautas de SO – afeygin

1

Cualquier marco de burla, y la mayoría de ellos usan Castle Dynamic Proxy IIRC.

Tome un vistazo a Moq

En realidad, esta es la respuesta de una pregunta similar:

auto create derived types

+0

No quiero burlarme o tener proxies dinámicos o incluso presentar cualquier biblioteca. Este es un problema genérico de código muy simple. – afeygin

Cuestiones relacionadas