我要这么一个码,用emit实现最好,我可以实现任意的接口,比如比如你实现一个类
class InterfaceImplementBuilder<T>
{
    public InterfaceImplementBuilder(object methods)
    {    }
    public T Build()
    {    }
}我可以这么用:IMyTest
{
    void foo(string x);
    int bar();
};IMyTest obj = new InterfaceImplementBuilder<IMyTest>
        (new { 
                 foo = new Action<string>(...),
                 bar = new Func<int>(...)
             }).Build();
... 

解决方案 »

  1.   

    如果喜欢全是反射的调用,应该首选动态语言。
    用c#这种非动态语言搞这种不伦不类的需求和设计这就属于理论高于实践了。
    C#可以动态编译,也可以反射调用,也就是说,事实上你可以用C#创造出一个新的运行时语言。但是,这有意义吗?换一个动态语言可以做的比你优雅100倍,简单100倍。
      

  2.   

    我觉得没必要用接口,你可以这样
            public class IMyTest
            {
                public action<string> foo;
                public func<int> bar;
            };