Ist es möglich, dass ein anonymer Typ eine Schnittstelle implementiert?
Ich habe einen Code, mit dem ich gerne arbeiten würde, weiß aber nicht, wie ich das machen soll.
Ich habe einige Antworten erhalten, die entweder Nein sagen oder eine Klasse erstellen, die die Schnittstelle implementiert, um neue Instanzen davon zu erstellen. Das ist nicht wirklich ideal, aber ich frage mich, ob es einen Mechanismus gibt, um eine dünne dynamische Klasse über einer Schnittstelle zu erstellen, der dies einfach machen würde.
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);
}
}
}
Ich habe einen Artikel Dynamic Interface Wrapping gefunden , der einen Ansatz beschreibt. Ist das der beste Weg, dies zu tun?