Ada*_*gen 21 .net managed-c++ using-statement
如何在Managed C++中编写以下C#代码
void Foo()
{
using (SqlConnection con = new SqlConnection("connectionStringGoesHere"))
{
//do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
Clarificaton: 对于托管对象.
Chr*_*n.K 32
假设您的意思是C++/CLI(不是旧的托管C++),您可以选择以下选项:
(1)使用自动/基于堆栈的对象模仿使用块:
{
SqlConnection conn(connectionString);
}
Run Code Online (Sandbox Code Playgroud)
当下一个封闭块结束时,这将调用"conn"对象的析构函数.无论这是封闭功能,还是手动添加以限制范围的块都无关紧要.
(2)明确调用"Dispose",即破坏对象:
SqlConnection^ conn = nullptr;
try
{
conn = gcnew SqlConnection(conntectionString);
}
finally
{
if (conn != nullptr)
delete conn;
}
Run Code Online (Sandbox Code Playgroud)
第一个是"使用"的直接替代品.第二个是一个选项,除非您选择将引用传递给其他地方,否则通常您不需要这样做.
| 归档时间: |
|
| 查看次数: |
15838 次 |
| 最近记录: |