gpt4 book ai didi

c# - 调用异步方法时对象引用未设置到对象的实例

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

Twitter 不通过其 REST API 提供用户生日。因此,我准备了一个可为 null 的 DateTime 属性。

我还为所有社交网络服务准备了一个接口(interface)。其中大部分是异步任务方法。

但我无法传递此错误:对象引用未设置为对象的实例,即使我没有使用该对象。

接口(interface)方法 GetUserBirthDayAsync 为 Twitter 服务实现如下:

public Task<DateTime?> GetUserBirthDayAsync(){
return null; // because twitter does not provide user birthday
}

这就是我使用该方法的方式:

DateTime? BirthDate = await socialNetworkService.GetUserBirthDayAsync();

将值设置为 BirthDate 变量时发生错误。

发生了什么事?是什么导致了异常?

最佳答案

试试这个:

public Task<DateTime?> GetUserBirthDayAsync()
{
return Task.Run(() => (DateTime?)null);
}

或者,更好的方法:

public Task<DateTime?> GetUserBirthDayAsync()
{
return Task.FromResult<DateTime?>(null);
}

当您只返回 null 时,这意味着您的任务是 null,而不是异步方法的结果。

关于c# - 调用异步方法时对象引用未设置到对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38011951/

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