小编hel*_*ium的帖子

自动创建包装器以实现接口

我有一些类没有实现某个接口,但在结构上符合该接口.

interface IFoo {
    void method();
}

class Bar {  // does not implement IFoo
   public void method() {...}
}
Run Code Online (Sandbox Code Playgroud)

现在,我可以围绕那些简单地委托给包装类的类编写一个包装器

class BarWrapper : IFoo {
   Bar bar = new Bar();
   public void method()
   {
      bar.method();
   }
}
Run Code Online (Sandbox Code Playgroud)

但那是很多繁琐的工作.那些包装类可以自动生成吗?就像是:

IFoo foo = CreateWrapper<IFoo>(new Bar());

我相信你可以用Reflection.Emit做到这一点,但我从来没有用过它,乍一看它看起来并不容易.

有没有更简单的方法,或者是否有一个库已经实现了这个?

c# wrapper

16
推荐指数
4
解决办法
8030
查看次数

标签 统计

c# ×1

wrapper ×1