Czy klasa anonimowa C # może implementować interfejs?

Czy jest możliwe, aby anonimowy typ implementował interfejs. Mam fragment kodu, który chciałbym pracować, ale nie wiem, jak to zrobić.

Mam kilka odpowiedzi, które albo odmawiają, albo tworzą klasę, która implementuje interfejs, tworząc nowe instancje. Nie jest to idealne rozwiązanie, ale zastanawiam się, czy istnieje mechanizm pozwalający na stworzenie cienkiej klasy dynamicznej na wierzchu interfejsu, który byłby prosty.

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);
        }
    }
}

Znalazłem artykułDynamiczne owijanie interfejsu to opisuje jedno podejście. Czy to najlepszy sposób na to?

questionAnswers(7)

yourAnswerToTheQuestion