Compiler Warning (level 1) CS0465

 

Updated: July 20, 2015

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

Introducing a 'Finalize' method can interfere with destructor invocation. Did you intend to declare a destructor?

This warning occurs when you create a class with a method whose signature is public virtual void Finalize.

If such a class is used as a base class and if the deriving class defines a destructor, the destructor will override the base class Finalize method, not Finalize.

The following sample generates CS0465.

// CS0465.cs  
// compile with: /target:library  
class A  
{  
   public virtual void Finalize() {}   // CS0465  
}  
  
// OK  
class B  
{  
   ~B() {}  
}  

Show: