【发布时间】:2013-11-07 09:00:20
【问题描述】:
在我的项目中,我有一个构造函数可以抛出的对象。所以我使用的代码如下:
MyObject obj = null;
try
{
obj = new MyObject();
obj.DoSomething();
}
finally
{
if (obj != null)
obj.Free();
}
正如Uses of "using" in C#中的意思,代码如下
using (MyObject obj = new MyObject())
{
obj.DoSomething();
}
由 .NET CLR 转换为
{
MyObject obj = new MyObject();
try
{
obj.DoSomething();
}
finally
{
if (obj != null)
((IDisposable)obj).Dispose();
}
}
问题是:我能否让 CLR 将对象的构造函数放入 try 块中?
【问题讨论】:
-
如果您在对象初始化周围需要
Try/Catch,您需要自己添加。 -
"重点是"....?
-
是的,对不起“关键点”
-
@TimSchmelter 我的目标是用“使用”语句重写代码。 Try/Catch 就是现在的工作方式
标签: c# clr using try-finally