如何从CodeInterface获取通用约束作为CodeType对象?

时间:2012-06-13 23:54:44

标签: c# visual-studio-2010 code-generation envdte

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

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

示例:

class ServiceProviderCollection : IList<IServiceProvider> {}

我有代表CodeClass的{​​{1}}对象。我可以使用ServiceProviderCollection获取CodeInterface的{​​{1}}对象。但我不知道如何从那里到代表IList<IServiceProvider>的{​​{1}}对象。

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

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

1 个答案:

答案 0 :(得分:1)

鉴于Microsoft正专注于Roslyn来完全取代此模型,解析FullName可能是实现此目的的唯一方法。