2012-06-13 57 views
1

我在Visual Studio 2010中使用DTE來檢查C#類並自動生成代碼。如何從CodeInterface獲取作爲CodeType對象的通用約束?

當我遇到實現通用接口的類時,我想訪問類型約束作爲CodeType對象。

例如:

class ServiceProviderCollection : IList<IServiceProvider> {} 

我有CodeClass對象,它表示ServiceProviderCollection。我可以通過使用CodeClass.ImplementedInterfaces來獲得CodeInterface對象IList<IServiceProvider>。但我不知道如何從那裏獲得代表IServiceProviderCodeInterface對象。

我可以通過解析CodeInterface.FullName並獲取<和>之間的字符串來找到類型約束的名稱,但這不夠。

我正在使用C#來實現這一點,如果這很重要。

回答

1

鑑於微軟專注於Roslyn以完全替代此模型,解析FullName可能是這樣做的唯一方法。