System.Reflection.MemberTypes有八種不同的枚舉值。五直接映射到特定的MemberInfo類(ConstructorInfo,MemberInfo等)。 MemberTypes.NestedType可以被認爲是Type而不是MemberInfo。我試圖讓我的頭(1)MemberTypes.Custom和(2)MemberTypes.TypeInfo成員。有沒有人有這樣的成員的例子?MemberTypes.Custom和MemberTypes.TypeInfo成員的一個示例成員
6
A
回答
4
public class Foo
{
public class Bar { }
}
有了這兩個類,以下將是正確的。
typeof(Foo).MemberType == MemberTypes.TypeInfo
typeof(Foo.Bar).MemberType == MemberTypes.NestedType
兩個TypeInfo
和NestedType
表明您正在處理與區分類型是否是嵌套的或不是一個類型。枚舉值TypeInfo
只是遵循命名約定,而MemberInfo
的實際子類型爲Type
。一方面,Type
應該叫做TypeInfo
來堅持命名約定,另一方面,Type
首先來自MemberInfo
似乎有點可疑。但這只是它的方式。可能在MemberInfo
中的成員應該更好地理解爲程序集或類型成員,而不僅僅是類型成員。
從.NET 4.5開始,有一個新的子類TypeInfo
繼承自Type
並且可以使用Type.GetTypeInfo()
extension method訪問;看到那裏的區別。
我不確定MemberTypes.Custom
,但看着CLI specification,尤其是II.10.2,它可能是這種情況,這是指自定義屬性或其他與類型相關的自定義數據。看看.NET reference source code也不提供額外的見解。
相關問題
- 1. Form實例成員和靜態成員
- 2. 如何加入一個列表成員和指示成員爲創建指示和列表成員的名單
- 3. C#:靜態成員VS實例成員
- 4. 例外和腳本成員
- 5. CheckedListbox顯示成員和ValueMember
- 6. 成員和defparameter
- 7. 顯示成員和值成員從下拉列表
- 8. Dancer :: Plugin :: Auth :: RBAC成員註冊示例?
- 9. C++ - 通過成員函數更改一個類的成員值
- 10. 你可以有一個「指向成員」的工會成員?
- 11. 使用另一個類成員的類成員函數指針
- 12. 顯示會員羣組的成員
- 13. 靜態成員訪問比AS3中的實例成員慢嗎?
- 14. 從成員struct的成員函數中訪問類的成員?
- 15. 如何從另一個類的成員函數中訪問數據成員和成員函數?
- 16. 一個成員變量
- 17. 解析對象和成員屬性添加到每個成員
- 18. 如何讓兩個成員和非成員函數
- 19. JSP類實例成員
- 20. 類的成員指向類的成員
- 21. C++傳遞一個類成員項目成員函數
- 22. 使用另一個類成員初始化類成員C++
- 23. Powershell添加成員。添加一個ArrayList成員?
- 24. 在另一個成員中動態添加類成員
- 25. 數據成員「queryCallback」不能是一個成員模板
- 26. 從另一個成員函數調用成員函數在JavaScript
- 27. 從JSON結果基於成員值選擇一個成員
- 28. 實例化對象和對象成員
- 29. 控制實例化和成員變量++
- 30. JAVA ArrayList類實例成員檢查存在成員
對於TypeInfo - 你是否意識到'System.Type:System.Reflection.MemberInfo'? –