在 C# 中,类中的析构函数和 Finalize 方法有什么区别?

2023-12-13

类中的析构函数和 Finalize 方法之间有什么区别(如果有)?

我最近发现 Visual Studio 2008 认为析构函数与 Finalize 方法同义,这意味着 Visual Studio 不允许您在类中同时定义这两种方法。

例如下面的代码片段:

class TestFinalize
{
    ~TestFinalize()
    {
        Finalize();
    }

    public bool Finalize()
    {
        return true;
    }
}

在析构函数中调用 Finalize 时出现以下错误:

以下方法或属性之间的调用是不明确的: 'TestFinalize.~TestFinalize()' 和 'TestFinalize.Finalize()'

如果对 Finalize 的调用被注释掉,则会出现以下错误:

类型“ManagementConcepts.Service.TestFinalize”已经定义了一个名为 使用相同的参数类型“最终确定”


C# 中的析构函数重写System.Object.Finalize方法。你have to使用析构函数语法来执行此操作。手动覆盖Finalize会给你一条错误消息。

基本上你想用你的Finalize方法声明是hiding基类的方法。它将导致编译器发出警告,可以使用以下命令将其静音new修改器(如果它能工作的话)。这里要注意的重要一点是,您can't both override并声明一个new同时具有相同名称的成员,因此同时具有析构函数和Finalize方法会导致错误(但是你can,虽然不推荐,但声明一个public new void Finalize()方法(如果您没有声明析构函数)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中,类中的析构函数和 Finalize 方法有什么区别? 的相关文章

  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 如何区分用户点击链接和页面自动重定向?

    拥有 C WebBrowser control http msdn microsoft com en us library system windows forms webbrowser aspx在我的 WinForms 应用程序中 并意识
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • 将点云的坐标转换为点云库中的另一个坐标,从而使地平面成为X-O-Y平面?

    我有一个来自 kinect fusion 的点云 并使用点云库来分割地平面 ax by c z d 0 成功 我在地平面的 pcl ModelCoefficients 中得到了 a b c d 现在我需要将笛卡尔坐标转换为新的笛卡尔坐标 使
  • 当 iOS 应用程序在后台运行时,您可以收听 Firestore 更新吗?

    我对 Firestore 非常陌生 并试图了解实时更新的工作原理 我现在使用类似的方法从 Firestore 获取更新 db collection Collections session whereField participants ar
  • Linq - 检查where子句中的条件如果字段可以为空

    我有问题 即使项目没有引用 如何检查 where 子句中的条件 最基本的方法 我正在检查我的类中的字段 该字段可以为空 当我以这种方式检查它时 它将返回空引用异常 var soldOutProducts from p in list whe
  • swing 未捕获的异常处理程序

    我正在尝试为 swing 应用程序构建一个通用异常处理程序 如下所述 http www javaspecialists eu archive Issue081 html 我在 jython 中工作 python 语法被编译为 java 并执
  • 我想在Android中使用Xpath来解析XML

    我喜欢在java中使用Xpath解析XML 但是当我在android上做同样的事情时 找不到XPath 任何想法如何实施 如果不可能的话 还有其他更快的 Android 解析器吗 Thanks Kai Android XPath 自 And
  • 获取外键值

    如何获取外键值 我有一个常见的车辆模型 它链接到年份 系列 发动机类型 车身样式 变速箱和传动系统 全部作为外键 我想获取我的应用程序的这些字段的值 但我不知道如何处理它们 任何想法都将受到高度赞赏 class Model models M
  • 完美滚动条默认滚动条保留,并且“完美滚动条”不起作用

    我真的需要这方面的帮助 我想用 完美滚动条 替换 iframe 上的默认滚动条 我已经下载了完美的滚动条 我还将所需的文件包含到我的 html 文档中 根据文档 我在 iframe 中设置了内容容器的样式 结果是 当我加载主页并将鼠标光标移
  • 如何在 1 次后停止 gif 反应本机?

    我有一个 gif 正在反应 我想停止循环 我在我的视图中添加了一个图像 我给图像提供了我的 gif 的路径 它可以工作 但是 gif 进入无限循环 有什么办法停下来吗
  • 如何使用 AVR 的 gnu 汇编器相对于 PC 跳转?

    我有一个使用 avr objcopy 反汇编的二进制文件 中断向量表如下所示 00000000 VECTOR TABLE 0 13 c0 rjmp 38 0x28 RESET 2 b8 c1 rjmp 880 0x374 INT0 4 fd
  • xmlns 属性不允许我解析[重复]

    这个问题在这里已经有答案了 过去一小时我一直在尝试解析这个 XML 文件
  • 简单检查 Android 应用程序后台

    我通过从每个活动的 onResume 调用 plusActivity 和从 onPause 调用 minusActivity 来跟踪我的应用程序中当前可见的活动数量 应该是 0 或 1 plus minusActivity 位于我的 myA
  • 如何检查 Android 是否安装了 Facebook

    我正在修改我的应用程序 以便能够捕获用户在未安装 facebook 应用程序 SSO 所需 的情况下尝试发布的情况 这是我正在使用的代码 try ApplicationInfo info getPackageManager getAppli
  • Firebase 存储 downloadURL 文件结构

    所以我使用 firebase 存储来上传我的网站文件 这是目录结构的示例 Project index html css style css js mainScript js 因此 我以这种结构将这些文件上传到 firebase 但我注意到返
  • Php数组数组从名称获取id

    我在 PHP 中有一个如下所示的数组 my array array my array array id gt myid1 name gt myname1 my array array id gt otherid name gt othern
  • 新款 iPhone X 型号有哪些尺寸级别?

    Apple 推出了三款新 iPhone X 机型 iPhone XR XS 和 XS Max 它们的尺寸类别是什么 与其他 iPhone 型号相比如何 我将为每个型号提供三条信息 纵向时的尺寸类别 横向时的尺寸类别以及屏幕分辨率 means
  • 在简单的Python脚本中列出超出范围的索引

    我刚刚开始学习 Python 想要创建一个简单的脚本 从用户输入中读取整数并打印它们的总和 我写的代码是 inflow list map int input split result 1 for i in inflow result inf
  • 付款捕获后调用 Magento 事件观察者

    我试图在订单创建后并在捕获付款后调用观察者 到目前为止我已经尝试过了 checkout submit all after sales order payment place end sales order place after 销售 订单
  • 如何设置段落字符限制?

    我目前有 p event desc p 其中给出了事件的完整描述 有些有很长的描述 而我只想要前 50 个字符 如何才能实现这一目标 尝试这个 fifty chars width 50ch overflow hidden white spa
  • 动画 GIF 帧速率似乎低于预期

    我有一个winforms应用程序 上面有一个 gif 用于让用户了解停滞的进程 问题是它的播放速度比其他应用程序 chrome internet explorer 慢得多 我已经尝试过 gif 了PictureBox and Label但结
  • 在 C# 中,类中的析构函数和 Finalize 方法有什么区别?

    类中的析构函数和 Finalize 方法之间有什么区别 如果有 我最近发现 Visual Studio 2008 认为析构函数与 Finalize 方法同义 这意味着 Visual Studio 不允许您在类中同时定义这两种方法 例如下面的