"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que meu código de código C# "é necessário um referência de objeto para o erro não estático de campo, método ou propriedade"?

Por que meu código de código C# "é necessário um referência de objeto para o erro não estático de campo, método ou propriedade"?

Postado em 2025-02-06
Navegar:584

Why Does My C# Code Throw

C# Erro: "A referência do objeto é necessária para acessar campos, métodos ou propriedades não estáticos"

]

Neste código C#, ocorreu um erro na população [i] .bits = getrandombits (); na linha main () , e a mensagem de erro é " É necessário que a referência do objeto seja usada acessando campos, métodos ou atributos não estáticos, 'vm_placement.program.getrandombits ()' '". Este erro indica que um método não estático getRandombits () está sendo chamado do método estático main () .

Em C#, os métodos estáticos estão associados a classes, não a instâncias específicas de classes, e não a métodos estáticos estão associados a instâncias de classes. Isso significa que métodos não estáticos exigem que as instâncias da classe sejam chamadas.

Para este caso específico, existem duas soluções para resolver este erro:

  • Crie uma instância da classe do programa:
Program p = new Program();
p.GetRandomBits();

criando uma instância da classe do programa, você pode chamar getRandombits () nessa instância porque agora é um método de instância.

  • defina o método getRandombits () para static:
public static string GetRandomBits()
{
    // ...
}

set getRandombits () para estático, permitindo que ele seja chamado diretamente no método estático main () sem a necessidade, por exemplo, da classe.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3