C# 错误: "需要对象引用才能访问非静态字段、方法或属性"
这段 C# 代码中,Main()
方法内的 Population[i].bits = GetRandomBits();
行出现错误,错误信息为 "需要对象引用才能访问非静态字段、方法或属性 'VM_Placement.Program.GetRandomBits()'"。 此错误表明,正在从静态 Main()
方法调用非静态方法 GetRandomBits()
。
在 C# 中,静态方法与类相关联,而不是与类的特定实例相关联,而非静态方法与类的实例相关联。这意味着非静态方法需要类的实例才能调用。
针对此特定情况,有两种解决方案可以解决此错误:
<code class="language-csharp">Program p = new Program(); p.GetRandomBits();</code>
通过创建 Program 类的实例,可以调用该实例上的 GetRandomBits()
,因为它现在是一个实例方法。
<code class="language-csharp">public static string GetRandomBits() { // ... }</code>
将 GetRandomBits()
设为静态,允许在静态 Main()
方法中直接调用它,而无需类的实例。
以上是为什么我的 C# 代码抛出'非静态字段、方法或属性需要对象引用”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!