c++-cli - C++ 虚拟(密封)函数

标签 c++-cli sealed method-call

我在我的 C++ 项目中使用来自 dll 的类。一切正常,直到...

当尝试调用某个方法(在对象浏览器中列出)时,我收到一个错误,指出该方法不是命名空间的成员。

经过调查,我注意到此方法被列为“虚拟无效 x() 密封”。

有没有办法调用这样的函数?

最佳答案

为了将来引用,我刚刚收到了企业库支持团队的回复。他们发布了以下链接:

托管 C++ 和 IDisposable
我正在使用新的托管 C++/CLI 语法编写一些代码,但遇到了以下错误:

error C2039: 'Dispose' : is not a member of 'System::IDisposable'



我开始的代码是这样的:
image->Dispose(); // image implements IDisposable

这给了我同样的编译器错误,所以我想消除类/命名空间错误,所以我将其重写为:
((IDisposable ^)image)->Dispose();

这给出了上述错误。哎呀!

这是修复:

使用删除。托管 C++ 现在将 Dispose() 隐藏在终结器中。只需删除该对象,它会处理其余部分。怪异的。

这真的有效!!!!

关于c++-cli - C++ 虚拟(密封)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260055/

相关文章:

.net - 如何使用非托管代码中的托管代码?

Scala 的密封抽象与抽象类

c# - 调用接口(interface)成员的虚方法的CLR实现

java - 这些说法有什么区别吗?

c++-cli - C++/CLI-问题 : Is there an equivalent to the C# "is" keyword or do I have to use reflection?

c++-cli - 第 193 章

visual-studio-2010 - 从 native C++ 迁移到 C++/CLI : new keywords conflict with old names

c# - 访问级别和修饰符(私有(private)、密封等)是否在 C# 中用于安全目的?

c++-cli - c++ 密封和接口(interface)

javascript - JavaScript 中文本输入行为中的 onchange 事件在键入时立即注册更改?