想使用委托函数代替Console.Readline(),下面的程序错在什么地方?

leichow 2011-12-16 09:11:45
delegate string readscreen ();
static void Main(string[] args)
{
readscreen readline;
readline=new readscreen(read);
string r =Convert.ToString(readline);
Console.WriteLine("Your words are {0}", r);

}
static string read()
{
string line = Console.ReadLine();
return line;
}
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
a371014988 2011-12-16
  • 打赏
  • 举报
回复



/// <summary>
/// 保存缓存
/// </summary>
/// <param name="key">键</param>
/// <param name="value">值</param>
public void SaveCache(object key, object value)
{
SaveCacheHandler handler = new SaveCacheHandler(SaveCacheInvoke);
IAsyncResult ar = handler.BeginInvoke(key, value, new AsyncCallback(SaveCacheCallBack), null);
}

private void SaveCacheInvoke(object key, object value)
{
lock (hashtable.SyncRoot)
{
hashtable[key] = value;
}
}

private void SaveCacheCallBack(IAsyncResult ar)
{
SaveCacheHandler handler = (SaveCacheHandler)((AsyncResult)ar).AsyncDelegate;
handler.EndInvoke(ar);
}
a371014988 2011-12-16
  • 打赏
  • 举报
回复
delegate string readscreen ();

这个委托的使用方法,
readscreen read=new readscreen(target);

调用方法: read();或read.invoke();

香儿爱土豆 2011-12-16
  • 打赏
  • 举报
回复

上面纠正下:ReadEventHandler readline=new ReadEventHandler(Read);

或者如下写:
static void Main(string[] args)
{
ReadEventHandler readline=delegate()
{
string line = Console.ReadLine();
return line;
};
}
OR
static void Main(string[] args)
{
ReadEventHandler readline=new ReadEventHandler(()=>
{
string line = Console.ReadLine();
return line;
});
}
香儿爱土豆 2011-12-16
  • 打赏
  • 举报
回复
根据你的意义,应该没有问题:

delegate string ReadEventHandler();

static void Main(string[] args)
{
ReadEventHandler readline=new ReadEventHandler();
Console.WriteLine(readline);
}

static string Read()
{
string line = Console.ReadLine();
return line;
}

以上代码返回:工程名称.Programe+ReadEventHandler;
bobobool 2011-12-16
  • 打赏
  • 举报
回复
delegate string readscreen();
static void Main(string[] args)
{
readscreen readline;
readline = new readscreen(read);
string r = Convert.ToString(readline()); Console.WriteLine("Your words are {0}", r);
Console.Read();
}
static string read()
{
string line = Console.ReadLine();
return line;
}
SqlServer2008 2011-12-16
  • 打赏
  • 举报
回复
string r =Convert.ToString(readline());
SqlServer2008 2011-12-16
  • 打赏
  • 举报
回复

string r =Convert.ToString(readline());

110,539

社区成员

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

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

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