Soy nuevo en .NET ..y estoy confundido con el mecanismo destructor en C# ..Por favor aclararqué método Finalize no pueden anular
en C# destructores son convertidos para finalizar método por el CLR. Si intentamos anularlo (no usando destructor), obtendremos un error Error 2 No anule el objeto. Finalice. En cambio, proporciona un destructor.
Pero parece que la implementación de Object calss en mscorlib.dll ha finalizado definido como anulación protegida void Finalize() {}, entonces ¿por qué no podemos anularlo, para qué función virtual?
¿Por qué es el diseño de esa manera, es que sea consistente con el concepto C++ destructor.
También cuando vamos a la definición de la clase de objeto, no se menciona el método de finalización, entonces, ¿cómo la definición de hmscorlib.dll muestra la función de finalización? Significa que el destructor predeterminado se convierte en el método de finalización.
public class Object
{
public Object();
public virtual bool Equals(object obj);
public static bool Equals(object objA, object objB);
public virtual int GetHashCode();
public Type GetType();
protected object MemberwiseClone();
public static bool ReferenceEquals(object objA, object objB);
public virtual string ToString();
}
Creo que lo entienden y piden una explicación _por qué_. –