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 :
<code class="language-csharp">Program p = new Program(); p.GetRandomBits();</code>
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.
<code class="language-csharp">public static string GetRandomBits() { // ... }</code>
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!