¿Cuál es la diferencia entre el método de instancia y el método estático?

¿Hay alguna diferencia entre el método de instancia y el método estático? Para mucha gente, esta es una pregunta estúpida. Como todos conocemos la diferencia entre ellos, un método de instancia actúa sobre un objeto de contexto específico, que se puede obtener usando la palabra clave this; un método estático se define en un cierto tipo y no existe el concepto de objeto de contexto. Pero si lo miramos desde la perspectiva de las funciones, ya sea un método estático o un método de instancia es una operación para procesar parámetros de entrada, no parece haber diferencia.

Tome el siguiente tipo IntValue para encapsular un entero como ejemplo. Tiene dos métodos AsInt32. El método de instancia devuelve el campo _value del objeto InValue actual; el método estático toma el objeto IntValue como parámetro y devuelve el campo _value del objeto . Nuestra pregunta es: ¿Hay alguna diferencia entre estos dos métodos AsInt32?

var destino = nuevo IntValue(123); 
destino.AsInt32(); 
IntValue.AsInt32(objetivo); public class IntValue 
{ private readonly int _value;
    IntValue público ( valor int ) => _v

 
       

Supongo que te gusta

Origin blog.csdn.net/shengyin714959/article/details/131640824
Recomendado
Clasificación