gpt4 book ai didi

c# - 如何实现返回类型为 Task 的方法

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:11 24 4
gpt4 key购买 nike

我正在尝试为新的身份系统开发一种数据库优先的方法,但我目前一度被难住了。这是我目前所拥有的

    public class MyCustomUserStore<T>: IUserStore<T> where T:ApplicationUser
{

public System.Threading.Tasks.Task<T> FindByIdAsync(string userId)
{
Task<ApplicationUser> taskInvoke = Task<ApplicationUser>.Factory.StartNew(() =>
{
//Here is where I will lookup my existing legacy database table
//setting some dummy value here to the properties added tothe ApplicationUser class
ApplicationUser obj = new ApplicationUser();
obj.Id = "userid : " + userId;
return obj;
});

return taskInvoke;

}
}

我得到的错误是

Cannot implicitly convert type 'System.Threading.Tasks.Task<MyProject.Models.ApplicationUser>' 
to 'System.Threading.Tasks.Task<T>'

问题 1.) 我的类定义正确吗?如果是,我该如何进一步获取从此方法返回的值?

问题 2.) 我是否应该费心去实现这个类的方法,或者如果我只是扩展 UserManager 类并覆盖它的所有方法不是更好吗

   public class MyCustomUserManager : UserManager<ApplicationUser>
{
}

最佳答案

像这样的东西应该可以工作

public System.Threading.Tasks.Task<T> FindByIdAsync(string userId)
{
var obj = new T();
obj.Id = "userid : " + userId;
return Task.FromResult(T);
}

关于c# - 如何实现返回类型为 Task<T> 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23010668/

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