C# 我应该如何创建回调

C# 我应该如何创建回调,c#,callback,C#,Callback,编写回调的最佳方法是什么?我只需要调用1个sig为void(string,int)的函数;这需要调用一个类,因为我有需要处理的成员obj。写这篇文章最好的方法是什么?在C中,我会传递一个func指针和一个void*obj。我不喜欢这样,我怀疑在C#?C#3.0引入的lambdas中有更好的方法来实现这一点,它允许您放弃声明回调(或委托)签名。它允许您执行以下操作: static void GiveMeTheDate(Action<int, string> action) { va

编写回调的最佳方法是什么?我只需要调用1个sig为void(string,int)的函数;这需要调用一个类,因为我有需要处理的成员obj。写这篇文章最好的方法是什么?在C中,我会传递一个func指针和一个void*obj。我不喜欢这样,我怀疑在C#?

C#3.0引入的lambdas中有更好的方法来实现这一点,它允许您放弃声明回调(或委托)签名。它允许您执行以下操作:

static void GiveMeTheDate(Action<int, string> action)
{
  var now = DateTime.Now;
  action(now.Day, now.ToString("MMMM"));
}

GiveMeTheDate((day, month) => Console.WriteLine("Day: {0}, Month: {1}", day, month));
// prints "Day: 3, Month: April"
static void GiveMeTheDate(动作)
{
var now=DateTime.now;
动作(now.Day,now.ToString(“MMMM”);
}
GiveMeTheDate((日,月)=>Console.WriteLine(“日:{0},月:{1}”,日,月));
//打印“日:3,月:4”

在C#中处理(或替换)回调的标准方法是使用委托或事件

这提供了一种非常强大、干净的回调处理方法。

这就是您的意思吗

thatfunc(params, it, wants, Func<myObject> myCallbackFunc)
{
    myObject obj = new Object(); 

    myCallbackFunc.Invoke(obj);

//or

    myCallbackFunc.Invoke(this);

//I wasn't sure what if myObject contained thatFunc or not...
}
thatfunc(参数、it、wants、Func myCallbackFunc)
{
myObject obj=新对象();
myCallbackFunc.Invoke(obj);
//或
调用(这个);
//我不确定我的对象是否包含该函数。。。
}

你必须重写这个问题。这没有什么意义,也没有背景。你的问题还不是很清楚。什么叫什么?我想知道为什么有人否决了这个!这个代码很有效,似乎回答了这个问题。我投了赞成票权力腐败,甚至我们中的一些人显然是书呆子。我没有来StackOverflow,因为我有时间看书。链接现在已经死了。