"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué mi código C# lanza "Se requiere una referencia de objeto para el error no estático, método o propiedad"?

¿Por qué mi código C# lanza "Se requiere una referencia de objeto para el error no estático, método o propiedad"?

Publicado el 2025-02-06
Navegar:272

Why Does My C# Code Throw

C# Error: "Se requiere referencia de objeto para acceder a campos, métodos o propiedades no estatales"

]

En este código C#, se produjo un error en el método población [i] .bits = getRandombits (); en el método main () , y el mensaje de error es " Se requiere que la referencia de objeto se use accediendo a campos, métodos o atributos no estáticos 'vm_placation.program.getRandombits ()' ". Este error indica que un método no estático getRandombits () se llama desde el método static main () .

En C#, los métodos estáticos están asociados con clases, no con instancias específicas de clases, y no con métodos estáticos se asocian con instancias de clases. Esto significa que los métodos no estáticos requieren instancias de la clase a llamar.

Para este caso específico, hay dos soluciones para resolver este error:

  • cree una instancia de la clase de programa:
Program p = new Program();
p.GetRandomBits();

creando una instancia de la clase de programa, puede llamar getRandombits () en esa instancia porque ahora es un método de instancia.

  • Establezca el método getRandombits () en Static:
public static string GetRandomBits()
{
    // ...
}

set getRandombits () a Static, permitiendo que se llame directamente en el método static main () sin la necesidad de por ejemplo de la clase.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3