C# C错误CS0120:非静态字段、方法或属性需要对象引用
我正在尝试以下代码:C# C错误CS0120:非静态字段、方法或属性需要对象引用,c#,C#,我正在尝试以下代码: NMEAData = "$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47"; byte[] bData = new byte[256]; bData = Encoding.ASCII.GetBytes(NMEAData); ***NMEAProtocol.ParseBuffer(bData);*** public void ParseBuffer( byte[] buffer) {
NMEAData = "$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47";
byte[] bData = new byte[256];
bData = Encoding.ASCII.GetBytes(NMEAData);
***NMEAProtocol.ParseBuffer(bData);***
public void ParseBuffer( byte[] buffer)
{
foreach (byte b in Globals.GBuffer)
{
ProcessNMEA(b);
}
return;
}
当我试图编译时,我得到了
CS0120:非静态字段、方法或属性需要对象引用
NMEAProtocol不是静态类。您需要实例化它:
NMEAProtocol protocol = new NMEAProtocol(); // not sure about constructor. see documentation
protocol.ParseBuffer(bData);
在这种情况下,在线阅读文章并不足以解决问题。
它是一门基础的语言知识 请提供真正正确但演示问题的代码。当前状态下的代码只允许猜测。如果我将此方法转换为静态,则下的所有代码都需要转换为静态。如何创建该类的一个对象,以及如何将其作为对象实例调用?旁注:请避免使用“谢谢”,并在帖子中搜索了大量文本。为了演示搜索效果,请确保提供您找到的文章/答案,以及它在您的案例中如何不起作用。我已从您的帖子中删除了所有与问题无关的文本。Yeldar,这解决了问题。@Sharon很高兴听到这个消息。如果有帮助,您可以接受此答案: