gpt4 book ai didi

c# - 如何将 ThreadPool.QueueUserWorkItem 与非静态方法一起使用?

转载 作者:太空宇宙 更新时间:2023-11-03 19:29:47 25 4
gpt4 key购买 nike

当我尝试编译时它给了我

Error 1 An object reference is required for the non-static field, method, or property 'ConsoleApplication1.Program.print(string)' ConsoleApplication1\ConsoleApplication1\Program.cs 15 47 ConsoleApplication1

因此,我将 print 标记为 static 并且它起作用了。但是在一个更大的程序中,我有非静态方法。那么,如何将 ThreadPool 与这些方法一起使用呢?

class Program
{
static void Main(string[] args)
{
ThreadPool.QueueUserWorkItem(o => print("hello"));
Console.ReadLine();
}

public void print(string s)
{
Console.WriteLine(s);
}
}

最佳答案

你只需要一个实例来操作:

var myObject = new WhateverClassItIs();
ThreadPool.QueueUserWorkitem(o => myObject.SomeMethod("some input"));

请记住,如果您使用的类型实现了IDisposable(或其他一些清理机制),您不应该调用Dispose,直到您确定异步操作已完成(或在异步操作本身结束时)。

关于c# - 如何将 ThreadPool.QueueUserWorkItem 与非静态方法一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5786501/

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