2

我在 Visual Studio 2010 中使用DTE来检查 C# 类并自动生成代码。

当我遇到一个实现泛型接口的类时,我想将类型约束作为一个CodeType对象来访问。

例子:

class ServiceProviderCollection : IList<IServiceProvider> {}

我有CodeClass代表的对象ServiceProviderCollection。我可以CodeInterface使用IList<IServiceProvider>. CodeClass.ImplementedInterfaces但我不知道如何从那里到达CodeInterface代表IServiceProvider.

我可以通过解析 CodeInterface.FullName 并抓取 < 和 > 之间的字符串来找到类型约束的名称,但这还不够。

如果这很重要,我正在使用 C# 来实现这一点。

4

1 回答 1

1

鉴于微软正专注于Roslyn以完全替代该模型,解析FullName可能是这样做的唯一方法。

于 2012-06-14T00:21:22.430 回答