在c#中使用代理将构造函数调用替换为工厂方法调用



我可能要疯了,但我发誓我看到过一个片段,允许您的代码的消费者编写new Foo(),而像FooProxy.Create()这样的东西在幕后被调用,而不是构造函数。我一直在找啊找啊,可就是找不到。我根本不打算使用它,因为对我来说它看起来像一个反模式,但我想确保这不是我凭空想出来的。

回复似乎是没有....你只是在做梦。从https://stackoverflow.com/a/14343648/613130:

Q:创建构造函数(?)从缓存中检索对象或重新创建null

A:你不能创建这样的构造函数。构造函数总是创建一个新对象。相反,创建一个静态工厂方法:

请注意,使用Fody(一个能够修改汇编后编译的工具)来创建一个插件,直接替换new Foo()FooProxy.Create()

相关内容

  • 没有找到相关文章

最新更新