È possibile avere un tipo anonimo implementare un'interfaccia?
Ho un pezzo di codice che mi piacerebbe lavorare, ma non so come farlo.
Ho avuto un paio di risposte che dicono di no o creano una classe che implementa l'interfaccia costruendone nuove istanze. Questo non è proprio l'ideale, ma mi chiedo se esiste un meccanismo per creare una classe dinamica sottile sopra un'interfaccia che lo renderebbe semplice.
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);
}
}
}
Ho trovato un articolo Wrap di interfaccia dinamica che descrive un approccio. È questo il modo migliore per farlo?