c# – 从类型参数设置Typeparameter

如何将我的参数转换为正确的类型声明. 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>();
}

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...