Necesito crear un tipo que tenga dos propiedades con el mismo nombre y que solo difiera en el tipo de devolución. La emisión dinámica de este tipo a través de la reflexión es perfectamente aceptable.¿Cómo puedo emitir un tipo .NET con dos propiedades que están sobrecargadas solo en el tipo de devolución?
Algo como esto:
public TypeA Prop { get; }
public TypeB Prop { get; }
Yo entiendo que no puedo consumir esta propiedad de C# o VB.NET o un montón de otros lenguajes .NET.
Para evitar respuestas que me expliquen por qué no quiero hacer esto, permítanme explicar por qué lo necesito: lo necesito para reproducir un error.
Más específicamente, tengo un error en AutoFixture donde un Moq de un tipo hará que arroje una excepción en ciertos casos. El problema es que el tipo emitido por Moq contiene dos propiedades ambas llamadas 'Mock' que solo difieren en el tipo de devolución.
Me gustaría reproducir este escenario en una prueba unitaria, pero preferiría no tener una dependencia de Moq solo por ese único motivo, por lo que me gustaría reproducir el comportamiento internamente en el conjunto de pruebas.
1 para dar razones válidas para lo que sería de otra manera "pie, objetivo, sh oot "tipo de material :) –