假设我想使用2个实现IDispose模式的类.其中一个类使用另一个类进行实例化,但之后不需要.堆叠"使用"关键字时,这将导致(例如)在使用字体期间锁定的文件.我希望文件在我完成之后立即解锁,因为"编码美容"的原因.
看看下面的"标签式"系统.
using1 (Stream stream = File.OpenRead("font.ttf"))
using2 (Font font = FontExtensions.FromStream(stream, 32))
ENDusing1
//use font here
ENDusing2
Run Code Online (Sandbox Code Playgroud)
分层方式,如何设计代码块,对当前处理这个问题施加(美)限制.当然,这可以通过使用try/finally块来解决,但这些并不是那么整洁.
我是否错过了使用(lol?)嵌套IDisposable对象/ Streams的基本设计?
请分享您对标签代码块的看法以及解决此问题的最佳方法(编码美).