out用法的问题,在线等呢

lawmat2003 2007-08-10 10:46:53
class Program
{
string filename= @"filename.txt";
StreamReader reader;

.......

static void Main(string[] args)
{

Op.fOpen(filename,out reader );



}//end void main()


//
class OpenFile
{
public void fOpen(string str,out StreamReader rd)
{
rd = new StreamReader(str, Encoding.Default);
}
}//end OpneFile


}
}


报错是
Error 1 An object reference is required for the nonstatic field, method, or property 'FileProcess.Program.reader'
没有其他错了
请问是哪里错了呢?
谢谢
...全文
196 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
csrwgs 2007-08-10
  • 打赏
  • 举报
回复
main 函数是static的
so
hanjun1024 2007-08-10
  • 打赏
  • 举报
回复
如果你想返回StreamReader,直接用return就可以了
hanjun1024 2007-08-10
  • 打赏
  • 举报
回复
昏倒了,StreamReader是引用型变量,不需要使用ref,out这种关键字。在调用方法的时候直接传的是引用。一般只有多个值类型的需要同时返回才用ref,out这种关键字。
vliguo 2007-08-10
  • 打赏
  • 举报
回复
调查了一下
out必须在函数体内初始化,在外面初始化没意义。也就是说,out型的参数在函数体内不能得到外面传进来的初始值。


Avoid 2007-08-10
  • 打赏
  • 举报
回复
out需要赋初值。用ref
vliguo 2007-08-10
  • 打赏
  • 举报
回复
为什么用out ref可以搞定的, 至于区别倒看过,但是没去仔细研究

110,550

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧