c# 异步方法跨类调用
时间: 2024-10-08 22:23:46 浏览: 33
C#异步调用示例详解
在C#中,异步方法允许你在执行长时间运行的操作(如网络请求、文件读取等)时不会阻塞主线程,提高程序响应性。对于跨类调用异步方法,你可以遵循以下几个步骤:
1. 定义一个返回`Task`或`Task<T>`类型的公共方法,`Task<T>`用于异步操作完成后返回一个结果。例如:
```csharp
public class ServiceClass
{
public async Task<string> GetDataFromServer()
{
// 这里是你实际的异步操作代码,比如网络请求
return await LongRunningMethod();
}
private async Task<string> LongRunningMethod()
{
// 实现具体的异步操作
}
}
```
2. 调用者可以在另一个类中通过await关键字来发起异步操作,并处理异步完成后的结果:
```csharp
class ClientClass
{
private readonly ServiceClass _service;
public ClientClass(ServiceClass service)
{
_service = service;
}
public async void CallGetData()
{
string data = await _service.GetDataFromServer();
// 处理数据...
}
}
```
阅读全文