如何从具有通用返回类型的方法中返回具体类的实例

FrenkyB

我有一个从我的应用程序中调用的方法。方法是从实现的Google.Apis.Util.Store.IDataStore我想从该方法返回令牌,但我不知道如何。令牌是类类型TokenResponse。如何从这样的方法返回类TokenResponse?

public Task<T> GetAsync<T>(string key)
{
  //TokenResponse token = new TokenResponse();
  //token.RefreshToken = @"rere545454545";
  //return token; -- I would like to return this, but it throws error
  return Task.FromResult<T>(default); //that works, but not much help out of it
}

更新资料

基本上,我想返回自己的令牌,该令牌已经在数据库中了。但是尝试创建一个新实例,例如:

TokenResponse token = new TokenResponse() 

抛出和错误

无法创建变量类型TokenResponse的实例,因为它没有new()约束

伊利亚尔·图杜舍夫(Iliar Turdushev)

解决问题的最简单方法是使用下一种方法:

  public Task<T> GetAsync<T>(string key)
  {
     TokenResponse t = new TokenResponse();
     // ...
     return Task.FromResult((T) ((object) t));
  }

您应确保GetAsync<T>始终使用type参数调用该方法T = TokenResponse否则,此代码将抛出InvalidCastException

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在具有泛型参数和返回类型方法的Java中使用反射获取类的实例?

返回具有其通用类型的Class实例

如何使方法返回类型通用?

如何引用具有多个界限的通用返回类型

具有多个继承类的通用返回类型的自引用方法

具有通用返回类型的覆盖方法

具有通用返回类型的命令模式

如何使方法的返回类型通用?

返回抽象类中的具体类型

如何在具有返回类型的TypeScript方法中从Observable返回

结果类型协方差-具有返回接口类型和特定类型的方法的通用类

具有通用返回类型的函数

如何返回具有通用类型的类实例作为具有通用类型的接口?

如何返回在类中具有别名的类型的值?

从方法返回通用类型的实例

具有通用返回类型的零方法

从具有通用返回类型的crtp基类的派生类中调用函数

如何在抽象类中具有函数以TypeScript返回子类的实例

转换具有类签名中通用属性的具体类型

返回派生的通用类而不指定返回类型的方法

函数可以返回未知类型的通用类的实例吗?

如何运行从通用类返回“类型”对象的方法

如何编写具有通用类类型的Java方法?

具有通用返回类型的覆盖方法,没有警告

如何从具有Impl类类型的父类返回对象?

具有受限返回类型的Typeclass实例

如何强制子类覆盖具有更具体返回类型的继承方法

当具有有界类型参数的类的方法返回其自身类型的值时,如何让返回值保持通用(不进行强制转换)?

如何从实例方法返回 Swift 中的实例类型