¿Es posible que un tipo anónimo implemente una interfaz?
Tengo un código que me gustaría trabajar, pero no sé cómo hacerlo.
He tenido un par de respuestas que dicen no o crean una clase que implementa la interfaz para construir nuevas instancias de eso. Esto no es realmente ideal, pero me pregunto si existe un mecanismo para crear una clase dinámica delgada en la parte superior de una interfaz que lo haga simple.
public interface DummyInterface
{
string A { get; }
string B { get; }
}
public class DummySource
{
public string A { get; set; }
public string C { get; set; }
public string D { get; set; }
}
public class Test
{
public void WillThisWork()
{
var source = new DummySource[0];
var values = from value in source
select new
{
A = value.A,
B = value.C + "_" + value.D
};
DoSomethingWithDummyInterface(values);
}
public void DoSomethingWithDummyInterface(IEnumerable<DummyInterface> values)
{
foreach (var value in values)
{
Console.WriteLine("A = '{0}', B = '{1}'", value.A, value.B);
}
}
}
Encontré un artículo Ajuste dinámico de interfaz que describe un enfoque. ¿Es esta la mejor manera de hacer esto?