C# 无法创建StreamReader

C# 无法创建StreamReader,c#,class,xna,instance,C#,Class,Xna,Instance,我尝试在XNA游戏中创建StreamReader类的实例。但是,它总是打印 Invalid token 'using' in class struct or interface member declaration 为什么??除了代码之外,还有 using System.IO; 班级: class Enemy : Character { //Several booleans and stuff using(StreamReader reader = new StreamRea

我尝试在XNA游戏中创建StreamReader类的实例。但是,它总是打印

Invalid token 'using' in class struct or interface member declaration
为什么??除了代码之外,还有

using System.IO;
班级:

class Enemy : Character
{
    //Several booleans and stuff
    using(StreamReader reader = new StreamReader("file.txt"))
    {
    }
}

将代码放在方法内部,而不是类级别

class Enemy : Character
{
    //Several booleans and stuff

    private void SomeMethod()
    {
        using(StreamReader reader = new StreamReader("file.txt"))
        {
        }
    }
}
您通常希望在需要时保持
StreamReader
处于打开状态,然后尽快将其关闭。一旦你掌握了一些外部资源,比如磁盘上的物理文件,你就不想永远保持这种状态。得到你需要的并释放它


“好的,谢谢,但是除了一种方法之外,它不起作用有什么原因吗?”

我不确定如果你能做到这一点意味着什么。当到达using块的末尾时,实例将被释放。因此,如果您可以在类级别执行此操作,它会立即处理实例并使其在类中不可用吗?或者在处理类时神奇地知道如何处理它


如果您想在类级别定义它,那么使用语句在不使用
的情况下定义它,并创建您的类。然后可以在
public void dispose()
方法中关闭/刷新/处置实例。但我真的建议只在您需要时创建一个
StreamReader

Ugh。将代码放在方法中,而不是类中。这是语法错误,不是编码问题!好的,谢谢,但是有没有一个原因,它在方法之外不起作用?