2013-02-23 102 views
3

新的TypeInfo類在其「DeclaredXXX」屬性中默認包含私有成員嗎?私有成員是否包含在TypeInfo聲明的屬性中?

+1

難道你不能只寫幾行代碼並自己測試一下嗎? – MarcinJuraszek 2013-02-23 22:50:22

+2

我可以但沒有人應該,因爲這是一個非常基本的問題。它沒有記錄在任何地方很容易訪問,所以任何想要發現的人都必須編碼 - sux,no? – Alwyn 2013-02-23 22:55:39

回答

5

它返回私人和公共的成員。但是隻有那些在該級別聲明的人,任何繼承的成員等不會被退回。

+0

我們如何獲得私人領域,如果他們是遺傳的? – 2013-12-12 20:13:48

+1

@ChrisKooken您可能想對對象的每種基本類型執行遞歸搜索(使用TypeInfo.BaseType) – 2014-09-08 11:49:11

3

如果是Property而不是Field它會顯示私有成員在DeclaredProperties

public class Test 
{ 
    private string test; // will not be in DeclaredProperties 
    private string test2 { get; set; } // will be in DeclaredProperties 
    public int test3{ get; set; } // will be in DeclaredProperties 
} 

var result = typeof(Test).GetTypeInfo().DeclaredProperties; 
相關問題