3
我們有一個與NHibernate.Search
一起使用的DAL,因此需要編制索引的類使用屬性Indexed(Index:="ClassName")
進行修飾,每個需要被索引的屬性都有一個屬性Field(Index:=Index.Tokenized, Store:=Store.No)
。當需要索引深入特殊對象時,有屬性IndexedEmbedded()
如何檢索.net中泛型IEnumerable中使用的泛型類型?
爲了自動記錄我們的索引層次結構,我構建了一個簡單的解析器,它通過DAL程序集運行,拾取標記爲可索引的任何類並獲取可索引或可用於下鑽的屬性。當屬性的類型被聲明爲可用於下鑽時,我將此類型推入隊列並處理它。
問題是,您可以深入到類中,其中一些本身包含在IEnumerable泛型集合中。我想看看用於收集的類型(通常是ISet)來解析它。
那麼獲取集合的內部類型的方式是什麼?
Private m_TheMysteriousList As ISet(Of ThisClass)
<IndexedEmbedded()> _
Public Overridable Property GetToIt() As ISet(Of ThisClass)
Get
Return m_TheMysteriousList
End Get
Set(ByVal value As ISet(Of ThisClass))
m_TheMysteriousList = value
End Set
End Property
我如何去ThisClass
時,我有PropertyInfo
爲GetToIt
?
無瑕; GetgenericArguments確實是我在尋找解決方案的地方,但我不會立刻想到在接口中尋找它。謝謝 – samy 2010-10-13 09:52:50