繁体   English   中英

检查泛型参数是否在Type []中?

Check for generic parameter, wether it is in Type[] or not?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有这样的事情:

public byte[] resultA<T>(string some, T myCustomGenericParameter) 
{
    Type[] typList = GetAllTypesFromAssembly(Assembly.LoadFile("aaaa.dddd.dll"));

    // checking wether my custom parameter is in "typList"
    typList.OfType<myCustomGenericParameter>().Any()
}

我想检查一下我的通用参数是否在typList ,但是出现Error 1 The type or namespace name 'myCustomGenericParameter' could not be found (are you missing a using directive or an assembly reference?) typList Error 1 The type or namespace name 'myCustomGenericParameter' could not be found (are you missing a using directive or an assembly reference?)

1 个回复

我想检查我的通用参数是否在typList

然后使用

typeList.Contains(typeof(T));

要么

typeList.Contains(myCustomGenericParameter.GetType());

如果myCustomGenericParameter可能是T的子类型,并且您要查找该特定类型。

注意,这里的typList.OfType<T>并不是很有用,因为集合中的所有对象都是Type对象,因此OfType不能真正区分它们。 当应用于具有不同类型对象的集合时, OfType有效。

3 C#中如何验证Type是否可以传递给泛型方法也可以根据传递的参数恢复泛型参数类型

让我试着解释一下我的意思。 例如,我有以下代码: 当然,编译器允许将List&lt;int&gt;类型的对象传递给它。 此外,编译器会根据参数类型将方法的类型T解析为int类型。 我只需要通过使用 System.Reflection 或 Roslyn 动态地执行相同的操作。 假设我得到了方法的 ...

4 如何在.NET 4.0中检查泛型参数是否是动态的

我有一个类ObjectMapper&lt;T&gt; 。 .NET 4.0中是否有任何方法可以判断typeof(T)是否是dynamic ? 我希望能够在成员方法中确定该类是否已初始化为new ObjectMapper&lt;dynamic&gt;()与new ObjectMapper&lt ...

6 检查Type实例是否等于泛型类型

我需要实现一个具有类似于以下方法的Java接口: 在我的情况下,如果类型为List&lt;URI&gt; ,则应返回true 。 我虽然做了类似return t.equals(URI_LIST_TYPE) ,但是我不知道如何获取表示List&lt;URI&gt;的Type实例。 ...

7 检查类的泛型参数是否实现接口

我有一个以下泛型类: 我还有一个Bird类,它实现了IFlyble接口: 我还有一个类型为object的变量res 。 如何检查res是否是SearchResult&lt;IFlyable&gt; ? 我这样试试: 这样: 但它似乎不起作用。 ...

10 检查 Python 中是否存在 *type* 文件

我意识到这看起来与有关检查文件是否存在的其他问题相似,但它是不同的。 我试图弄清楚如何检查某种类型的文件是否存在,如果不存在则退出。 我最初尝试的代码是这样的: 这可以对以 .fna 结尾的文件“做一些事情”,但我需要它来检查并确保 .fna 文件在那里,如果没有,则完全退出程序。 我试过这个 ...

2012-02-29 01:46:28 6 10118   python
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM