Maison > développement back-end > C++ > Pourquoi mon code C# renvoie-t-il l'erreur « Une référence d'objet est requise pour le champ, la méthode ou la propriété non statique » ?

Pourquoi mon code C# renvoie-t-il l'erreur « Une référence d'objet est requise pour le champ, la méthode ou la propriété non statique » ?

Barbara Streisand
Libérer: 2025-01-22 05:36:09
original
424 Les gens l'ont consulté

Why Does My C# Code Throw

Erreur C# : "Une référence d'objet est requise pour accéder à un champ, une méthode ou une propriété non statique"

Dans ce code C#, une erreur se produit au niveau de la ligne Main() dans la méthode Population[i].bits = GetRandomBits();. Le message d'erreur est « Une référence d'objet est requise pour accéder aux champs, méthodes ou propriétés non statiques 'VM_Placement.Program.GetRandomBits. ()'". Cette erreur indique qu'une méthode non statique Main() est appelée à partir d'une méthode statique GetRandomBits().

En C#, les méthodes statiques sont associées à une classe plutôt qu'à une instance spécifique de la classe, tandis que les méthodes non statiques sont associées à des instances de la classe. Cela signifie que les méthodes non statiques nécessitent une instance de la classe pour être appelées.

Pour ce cas précis, il existe deux solutions pour résoudre cette erreur :

  • Créez une instance de la classe Program :
<code class="language-csharp">Program p = new Program();
p.GetRandomBits();</code>
Copier après la connexion

En créant une instance de la classe Program, GetRandomBits() peut être appelé sur cette instance puisqu'il s'agit désormais d'une méthode d'instance.

  • Rendre la méthode GetRandomBits() statique :
<code class="language-csharp">public static string GetRandomBits()
{
    // ...
}</code>
Copier après la connexion

Make GetRandomBits() static, permettant de l'appeler directement à partir d'une méthode statique Main() sans nécessiter une instance de la classe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal