Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在运行时查询C#泛型?_C#_Java_Generics - Fatal编程技术网

是否可以在运行时查询C#泛型?

是否可以在运行时查询C#泛型?,c#,java,generics,C#,Java,Generics,因此,我目前正致力于将一个项目从Java移植到C#,我正试图找出一些办法 目前,在Java中,当我们查询泛型类型的内容时,它会删除泛型类型。正因为如此,当我们查询某些东西时,我们需要使用注释,这样我们就可以得到一个集合并知道我们得到了什么 在C#中,这是同一个问题吗?是否可以在运行时查询C#泛型?如果我们这样做,我们是否需要使用属性来解决问题 是否可以在运行时查询C#泛型 对。泛型类型在C#中不会被擦除,因为它们是类型信息本身的一部分。为此,不需要在C#中向对象添加属性 也就是说,除了泛型类型之

因此,我目前正致力于将一个项目从Java移植到C#,我正试图找出一些办法

目前,在Java中,当我们查询泛型类型的内容时,它会删除泛型类型。正因为如此,当我们查询某些东西时,我们需要使用注释,这样我们就可以得到一个集合并知道我们得到了什么

在C#中,这是同一个问题吗?是否可以在运行时查询C#泛型?如果我们这样做,我们是否需要使用属性来解决问题

是否可以在运行时查询C#泛型

对。泛型类型在C#中不会被擦除,因为它们是类型信息本身的一部分。为此,不需要在C#中向对象添加属性


也就是说,除了泛型类型之外,通过使用泛型方法,您可能不需要“查询”类型,因为您可以预先构造适当的类型。

Hm。好的。但是如果我不需要查询,那么我将如何预先构造类型?@Fender请参阅泛型上的
new()
约束以获取信息。不过,这取决于所讨论的类型。谢谢你的回答!