gpt4 book ai didi

c# - 确定类是否在 T4 模板中实现泛型列表

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:39 26 4
gpt4 key购买 nike

我正在编写一个 T4 模板,它从程序集中加载一些类,对这些类进行一些分析,然后生成一些代码。我需要做的一项特定分析是确定该类是否实现了通用列表。我可以在 C# 中非常简单地做到这一点,例如

public class Foo : List<string> { }

var t = typeof(Foo);

if (t.BaseType != null && t.BaseType.IsGenericType && t.BaseType.GetGenericTypeDefinition() == typeof(List<>)))
Console.WriteLine("Win");

但是 T4 模板使用 FXCop 内省(introspection)引擎,因此您无权访问 .net 反射 API。我已经在 Reflector 中度过了过去的几个小时,但仍然无法弄清楚。有没有人知道如何执行此操作?

最佳答案

我从 http://www.binarycoder.net/fxcop/ 下载了 Introspector (正如我在评论中提到的),您似乎需要检查 BaseType 或 BaseClass 模板。

关于c# - 确定类是否在 T4 模板中实现泛型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3005469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com