类对象可以在类级别的C#中声明这样的StreamWriter吗?我有多个不需要访问同一个StreamWriter的函数,但是因为必须使用流的构造函数来启动它,所以我不知道如何在函数之外声明它。将对象声明为类成员
回答
如果没有多线程问题,您可以在类之外声明它,并使用适当的流在函数内初始化它。
但是,根据需要在每个函数内部声明和初始化流是一种很好的做法。
我该怎么做?当我在函数之外声明它时,出现错误“非静态字段,方法或属性需要对象引用...” – 2011-03-12 17:39:52
如果我在单个函数中声明了streamwriter,我将会拥有在函数之外声明我的过程,以便我可以执行myStrmWriter = process.StandardInput;在每个功能中。我能看到的唯一选择是全局存储我的进程ID,然后对所有进程进行排序,找到实例等等。这看起来效率很低。 – 2011-03-12 17:42:13
你的意思是做这样的事情?将它声明为你的类的成员,然后在你的构造函数中初始化它。
public class Foo
{
private StreamWriter writer;
public Foo()
{
writer = new StreamWriter(...);
}
}
我这样做,因为你列出,并有作家=新的StreamWriter(minecraftProcess.StandardInput.BaseStream);在我的函数中,但仍然得到了编写器所需的对象引用的错误。 – 2011-03-12 17:50:54
然后,您需要发布一个简短但完整的示例来演示您的代码问题。您在构造函数中指定它之前引用'writer'。我们所有人都只能正确回答足够的信息。如果你像我在这里那样在构造函数中实例化'writer',那么你不应该遇到问题。实际上,这回答了“我如何在课堂级别声明StreamWriter”,这基本上就是你所要求的。 – Amy 2011-03-13 07:21:20
- 1. 将指针声明为类成员C++
- 2. C++:将模板声明为类成员
- 3. 可供对象没有成员声明为类变量
- 4. C++如何声明对象的向量作为类的成员
- 5. 如何将对象的成员字段声明为volatile?
- 6. 成员对象声明的区别
- 7. 何时应该将子对象声明为qt中父类的成员变量?
- 8. 成员指向成员对象和声明顺序的指针
- 9. 声明和定义类成员函数内的函数对象
- 10. 声明前向声明的类的成员函数为朋友
- 11. C++对象为类成员
- 12. C++声明类成员以外的类
- 13. 未声明类的类成员
- 14. 无法获取作为我的类中的成员声明的ifstream对象
- 15. 如何将unique_ptr的向量声明为类数据成员?
- 16. 何时应该将类成员声明为虚拟(C#)/ Overridable(VB.NET)?
- 17. 将接口声明为类成员有什么用处?
- 18. 错误TS1112:不能将一个类成员声明为可选
- 19. 将比较器传递给声明为类成员的priority_queue
- 20. 对象类型声明
- 21. 类对象的声明confucion
- 22. 将Jquery对象声明为变量?
- 23. 将属性声明为对象?
- 24. PHP如何声明一个类成员?
- 25. 静态常量类成员声明
- 26. 在运行时声明类成员D
- 27. 在python中声明空类成员
- 28. 静态类成员声明错误
- 29. 类成员函数的声明无疑
- 30. SFINAE:类成员不能重新声明
StreamWriter只是一个帮助程序类,它知道如何将文本(而不是原始二进制文件)写入流中。您可以在同一个流上创建多个作家。请记住,在StreamWriter上调用Dispose将关闭基础流(StreamWriter.BaseStream),因此请确保流的生命周期管理在外部,并且不要处置作者。 – Tergiver 2011-03-12 17:44:56
发布一些示例代码,显示您正在尝试执行的操作。那么我们可以帮助你。 – 2011-03-12 22:00:56