【发布时间】:2016-01-09 06:31:16
【问题描述】:
我有一个我想被缓存的类型,因为它是不可变的,如果你调用new Foo(1),它会创建它,但也会将该实例添加到缓存中,如果你再做一次,你'最终会得到缓存的Foo,值为 1。
不知何故,这意味着我需要拦截呼叫new <Type>(),而是使用自定义逻辑。
这可能吗?如果可以,它的性能如何?
【问题讨论】:
-
查找单例模式
-
@LucMorin 这有什么帮助?该类不是单例。
-
恐怕我不明白这个问题。如果您这样做,请随时提供答案。
-
不,你不能。除非您将构造函数设为私有并强制用户使用工厂方法创建新对象。
标签: c# constructor metaprogramming