Unity 2 拦截相当于 Castle 动态代理中的 CreateInterfaceProxyWithoutTarget
我想对没有实现的接口使用Unity拦截,这样IInterceptionBehavior实际上就成为了实现。这与 Castle Dynamic Proxy 中的 CreateInterfaceProxyWithoutTarget 方法相同。
这在Unity中可能吗?
I want to use Unity interception for an interface without an implementation, so that the IInterceptionBehavior actually becomes the implementation. This is the same as the CreateInterfaceProxyWithoutTarget method in Castle Dynamic Proxy.
Is this possible in Unity?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为不,我知道拦截接口的唯一方法是使用
InterfaceInterceptor
但它需要在容器中注册一个基类:I think no, the only way I know to intercept an interface is with an
InterfaceInterceptor
but it requires a base class to be registered in the container:自从这个问题发布以来已经有一段时间了,但我在试图弄清楚同样的问题时遇到了它,好吧,似乎我已经想出了一些东西。
我通过使用 Intercept.NewInstanceWithAdditionalInterfaces 使其工作。
在下面的示例中,我希望 Unity 创建一个实现 IUserDao 的未定义类的实例。我希望 Unity 创建的类的实例在 RetrieveSavedResultBehavior 中定义。
您可以在此处查看我关于此主题的帖子
It's been a long while since this question was posted, but I came across it while trying to figure out just the same, and well, it seems like I've come up with something.
I've made it work by using Intercept.NewInstanceWithAdditionalInterfaces.
In my sample below I want a Unity to create an instance of a non defined class implementing IUserDao. All I want that instance of that Unity created class to do is defined in RetrieveSavedResultBehavior.
You can check my post regarding this topic here