Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 非静态字段、方法或属性需要对象引用_C# - Fatal编程技术网

C# 非静态字段、方法或属性需要对象引用

C# 非静态字段、方法或属性需要对象引用,c#,C#,我开始学习C#和XNA。我现在想做的就是找出如何在多个类之间分割游戏代码,而不是把代码塞进一个类中 我想我现在已经设法让其他一切都正常工作了,但我一辈子也弄不明白这一点。我花了大约两个小时浏览这个问题的答案,结果却更加沮丧,因为我似乎遇到了另一种问题 错误是:“非静态字段、方法或属性召唤者\u Quest.TextControl.Draw()需要对象引用。” 我的Game1类可在此处查看: 可以在此处查看我的TextControl类: 我看到的一些答案涉及将方法从静态更改为非静态,或者反之亦然。

我开始学习C#和XNA。我现在想做的就是找出如何在多个类之间分割游戏代码,而不是把代码塞进一个类中

我想我现在已经设法让其他一切都正常工作了,但我一辈子也弄不明白这一点。我花了大约两个小时浏览这个问题的答案,结果却更加沮丧,因为我似乎遇到了另一种问题

错误是:“非静态字段、方法或属性
召唤者\u Quest.TextControl.Draw()
需要对象引用。”

我的Game1类可在此处查看:

可以在此处查看我的TextControl类:

我看到的一些答案涉及将方法从静态更改为非静态,或者反之亦然。使TextControl方法保持静态是我最接近“修复”它的方法,但是编译器会对我大喊大叫,直到我删除了方法中大约一半的代码。但我很确定这不是我想要的解决方案


感谢您抽出时间阅读我的帖子。非常感谢您的帮助。

您需要创建TextControl类的实例。大概是吧

受保护覆盖无效绘制(游戏时间游戏时间) {

        GraphicsDevice.Clear(Color.CornflowerBlue);



        // TODO: Add your drawing code here

        TextControl textControl = new TextControl();  //Creating the text control
        textControl.Draw();


        base.Draw(gameTime);

    }