大家都知道C#有using语句。在大括号结束的时候会调用Dispose方法。举个例子吧:
using (Font font1 = new Font("Arial", 10.0f))
{
byte charset = font1.GdiCharSet;
}
这段代码其实就等于:
{
Font font1 = new Font("Arial", 10.0f);
try
{
byte charset = font1.GdiCharSet;
}
finally
{
if (font1 != null)
((IDisposable)font1).Dispose();
}
}
用法很方便,就不用写一大段代码了。那么Manager C++(CLI)里面有没有这种用法呢?有的。
只要再代码段外面加一对大括号就可以达到和using一样的效果。举个例子:
{
SqlConnection conn(connectionString);
}
当然你也可以直接调用delete:
SqlConnection^ conn = nullptr;
try
{
conn = gcnew SqlConnection(conntectionString);
}
finally
{
if (conn != nullptr)
delete conn;
}