Quiero hacer que este pase de prueba, ¿alguien tuvo una idea de cómo hacerlo?Hacer que el objeto implemente dinámicamente una interfaz en el código
public class Something
{
public string Name {get; set}
}
public interface IWithId
{
public Guid Id {get; set}
}
public class IdExtender
{
public static Object Extend(object toExtend)
{
...?
}
}
public class Tests
{
[Test]
public void Should_extend_any_object()
{
var thing = new Something { Name = "Hello World!"};
var extended = IdExtender.Extend(thing);
Assert.IsTrue(extended is IWithId);
Assert.IsTrue(extended.Id is Guid);
Assert.IsTrue(extened.Name == "Hello World!");
}
}
supongo que algo como esto se podría hacer con Proxy castillo dinámico, Linfu, etc ... pero ¿cómo?
Si hay una manera de hacer esto, tengo curiosidad ... –
Respondo la pregunta, ya lo he hecho antes, pero no quiero ser superado por algunas frases sencillas y una referencia o dos a la documentación si voy a pasar por la molestia de romper el estudio visual abierto y armar la solución ... así que esperaré un poco, y si no hay una buena respuesta en un par de horas, enviaré un responder. – Steve
¿Extendería esto la instancia o todo el tipo de algo? –