1
我從F#程序集中得到一堆對象,然後我反思它們以發現它們的價值。對歧視聯盟的反思
(。準確地說我有使用fsYacc我則試圖在一個TreeView顯示解析結果的解析器)
一個可能返回的對象是這樣的區分聯合:
type op = Eq | Gt | Ge | Lt | Le
這種類型的對象將具有值,例如Ge
。
是否有任何方法使用反射,我可以確定一個對象是歧視聯盟,並因此採取措施來確定其價值?
我從F#程序集中得到一堆對象,然後我反思它們以發現它們的價值。對歧視聯盟的反思
(。準確地說我有使用fsYacc我則試圖在一個TreeView顯示解析結果的解析器)
一個可能返回的對象是這樣的區分聯合:
type op = Eq | Gt | Ge | Lt | Le
這種類型的對象將具有值,例如Ge
。
是否有任何方法使用反射,我可以確定一個對象是歧視聯盟,並因此採取措施來確定其價值?
以確定它是否是一個disriminated工會 - http://msdn.microsoft.com/en-us/library/ee353623.aspx - FSharpType.IsUnion
中獲取價值的使用- http://msdn.microsoft.com/en-us/library/ee370473.aspx
FSharpValue.GetUnionFields用於獲取聯盟的價值。感謝您指點我正確的方向! –