Динамическая реализация интерфейса в .NET 4.0 (C #)

Похоже, что с новыми динамическими возможностями в .NET 4.0 должна быть возможность динамически реализовать интерфейс, например, дано:

public interface IFoo 
{
    string Bar(int baz);
}

public class Foo : IFoo
{
    public string Bar(int baz) { return baz.ToString(); }
}

public class Proxy : IDynamicMetaObjectProvider
{
    private readonly object target;

    public Proxy(object target) { this.target = target; }

    // something clever goes here
}

Тогда я надеюсь, что есть какой-то способ сделать возможным написать:

dynamic proxy = new Proxy(new Foo());
IFoo fooProxy = (IFoo)proxy; // because the target object implements it
string bar = fooProxy.Bar(123); // delegates through to the target implementation

Но, пока, я не уверен, что заменить// something clever goes here с.

Итак, мои вопросы:

Это на самом деле возможно сделать с динамическим временем выполнения? Похоже, что динамически реализовать такие вещи, как методы и свойства, довольно легко, но я не нашел никакой документации о динамически реализуемых интерфейсах и преобразованиях к ним.

Предполагая, что это возможно, насколько сложно это может быть? (Вы можете предположить, что я приличный программист с большим опытом таких вещей, как рефлексия, но новичок в динамической среде.)

Есть ли какие-либо ресурсы, которые помогли бы указать мне правильное направление для реализации чего-то подобного? Или даже образцы, где такие вещи уже сделаны, которые я могу использовать в качестве отправной точки?

Ответы на вопрос(5)

Ваш ответ на вопрос