在我的表单构造函数中创建CustomPropertyList类.
form(String ^s)
{
InitializeComponent();
CustomPropertyList ^propertyList = gcnew CustomPropertyList(s);
...
Run Code Online (Sandbox Code Playgroud)
CustomPropertyList类有一个析构函数
CustomPropertyList::~CustomPropertyList()
{
if (MessageBox::Show("Do you want to save your changes?","Editin",MessageBoxButtons::YesNo)==DialogResult::Yes)
...
Run Code Online (Sandbox Code Playgroud)
程序退出时为什么不调用它?(我知道这不是因为我没有看到消息框,那里有一个断点)
我非常感谢任何帮助
因为这不是析构函数,所以这是Dispose方法(用C#术语).如果客户端不调用Dispose,则永远不会调用它.另一方面,应该调用终结器(!CustomPropertyList),除非使用GC :: SuppressFinalize来阻止它.
从C#代码,可以使用Dispose调用~CustomPropertyList.从C++/CLI客户端代码,可以使用delete运算符调用它.
请参阅此C++/CLI大师文章中的更多详细信息:http://www.codeproject.com/KB/mcpp/cppclidtors.aspx
| 归档时间: |
|
| 查看次数: |
1650 次 |
| 最近记录: |