我正在寻找一种自动生成(例如)单身的方法,例如:
[SingletonPatternAttribute] public class Logger { public void Log (string txt) { /* do logging... */ } }
作为消除样板的尝试.
有人知道如何实现吗?我知道有CodeDOM,Reflection.Emit,T4等.此外 – 有(最值得注意的)PostSharp,但我很高兴看到上述挑战的真正解决方案.
例如,我可以在构造函数中执行代码生成,但编译时间显然要好得多.
编辑:
这里的问题不是Singleton,而是C#中的生成/元编程 – 如何以最佳方式创建代码/消除样板 – 有什么样的具体例子?