Compiler Warning (level 1) CS0465

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 finalizer, the finalizer 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() {}