加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 从类型参数设置Typeparameter

发布时间:2020-12-16 01:40:49 所属栏目:百科 来源:网络整理
导读:如何将我的参数转换为正确的类型声明. IE浏览器.我如何在下面从类型转到T. class FooT{ Foo?? MakeFoo(Type type) { return new Foo??(); } Void Get(T aFoo) { ... }} 解决方法 你不能. 通用参数由编译器使用和应用,而Type是Reflection的一部分,旨在在运行
如何将我的参数转换为正确的类型声明. IE浏览器.我如何在下面从类型转到T.

class Foo<T>
{  
  Foo<??> MakeFoo(Type type)
  {
    return new Foo<??>();
  }

  Void Get(T aFoo)
  {
    ...
  }
}

解决方法

你不能.

通用参数由编译器使用和应用,而Type是Reflection的一部分,旨在在运行时使用类型信息.因此,如果只有System.Type,则无法定义应使用哪种类型的编译器.

但是你可以做相反的事情:

public void Foo<T>()
{
  Type t = typeof(T);
}

因此,如果您确实不需要使用Type作为参数,则可以执行以下操作:

Foo<FooParam> MakeFoo<FooParam>()
{
  return new Foo<FooParam>();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读