Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象类型是否包含受保护的虚拟最终确定方法?_C#_.net_Finalizer_Mscorlib - Fatal编程技术网

C# 对象类型是否包含受保护的虚拟最终确定方法?

C# 对象类型是否包含受保护的虚拟最终确定方法?,c#,.net,finalizer,mscorlib,C#,.net,Finalizer,Mscorlib,简言之,约瑟夫·阿尔巴哈里和本·阿尔巴哈里(O'Reilly)的C#6.0 2016年约瑟夫·阿尔巴哈里和本·阿尔巴哈里版权所有,978-1-491-92706-9 在第100-101页,说明对象类成员为: public class Object { public Object(); public extern Type GetType(); public virtual bool Equals (object obj); public static bool E

简言之,约瑟夫·阿尔巴哈里和本·阿尔巴哈里(O'Reilly)的C#6.0

2016年约瑟夫·阿尔巴哈里和本·阿尔巴哈里版权所有,978-1-491-92706-9

在第100-101页,说明对象类成员为:

public class Object
{
    public Object();
    public extern Type GetType();
    public virtual bool Equals (object obj);
    public static bool Equals (object objA, object objB);
    public static bool ReferenceEquals (object objA, object objB);
    public virtual int GetHashCode();
    public virtual string ToString();
    protected virtual void Finalize(); //<-- this one
    protected extern object MemberwiseClone();
}
公共类对象
{
公共对象();
公共外部类型GetType();
公共虚拟布尔等于(对象obj);
公共静态布尔等于(对象objA、对象objB);
公共静态bool ReferenceEquals(对象objA、对象objB);
公共虚拟int GetHashCode();
公共虚拟字符串ToString();
受保护的虚拟void Finalize();//来自:

C#编译器不允许重写Finalize方法。 相反,您可以通过为您的应用程序实现析构函数来提供终结器 C#析构函数自动调用其基的析构函数 班级

您必须使用
~ClassName()
来实现

Object.cs
是用
C#
编写的,因此它不是
Finalize()

我建议你读一下这个和这个

发件人:

此功能令人困惑,容易出错,并且被广泛误解 对于C++的用户来说,语法非常熟悉,但却有惊人的不同。 语义。在大多数情况下,使用该功能是危险的, 不必要的,或是错误的症状。
有时,您需要实现仅适用于以下专家的功能: 正在构建基础设施;这些功能应清楚标记 与其他语言的特性不太相似