gpt4 book ai didi

c# - 使用通用回调是一种不好的形式吗?

转载 作者:行者123 更新时间:2023-11-30 13:23:25 25 4
gpt4 key购买 nike

我有这段代码(好吧,类似的东西)。

private delegate void GenericCallback<T>(T Info);

private void DoWork()
{
System.Threading.Thread Worker = new System.Threading.Thread(
delegate()
{
TestMethod(TestMethodCallback<string>);
}
);
Worker.Start();
}

private void TestMethod(GenericCallback<string> Callback)
{
System.Threading.Thread.Sleep(1000);
if(Callback != null)
{
Callback("Complete");
}
}

private void TestMethod(GenericCallback<int> Callback)
{
System.Threading.Thread.Sleep(1000);
if(Callback != null)
{
Callback(25);
}
}

private void TestMethodCallback<T>(T Info)
{
MessageBox.Show(Info.ToString());
}

这允许我根据参数的类型调用不同版本的 TestMethod,同时还允许我有一个回调方法。

这是一种错误的形式,还是一种公认​​的做法?

最佳答案

看起来您可能正在寻找 Action delegate type .它基本上就是您所拥有的:一个通用的返回 void 的委托(delegate)类型。

关于c# - 使用通用回调是一种不好的形式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12199290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com