C# 无法创建StreamReader
我尝试在XNA游戏中创建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
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。将代码放在方法中,而不是类中。这是语法错误,不是编码问题!好的,谢谢,但是有没有一个原因,它在方法之外不起作用?