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