C# 错误: "需要对象引用才能访问非静态字段、方法或属性"
这段 C# 代码中,Main()
方法内的 Population[i].bits = GetRandomBits();
行出现错误,错误信息为 "需要对象引用才能访问非静态字段、方法或属性 'VM_Placement.Program.GetRandomBits()'"。 此错误表明,正在从静态 Main()
方法调用非静态方法 GetRandomBits()
。
在 C# 中,静态方法与类相关联,而不是与类的特定实例相关联,而非静态方法与类的实例相关联。这意味着非静态方法需要类的实例才能调用。
针对此特定情况,有两种解决方案可以解决此错误:
Program p = new Program();
p.GetRandomBits();
通过创建 Program 类的实例,可以调用该实例上的 GetRandomBits()
,因为它现在是一个实例方法。
public static string GetRandomBits()
{
// ...
}
将 GetRandomBits()
设为静态,允许在静态 Main()
方法中直接调用它,而无需类的实例。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3