まず、一般的な反射の最適化:基本的な考え方一般的な原理バッファによれば(静的静的フィールド構成+)
パブリック クラスアクセサ<S> { /// <要約> /// 属性类型 /// </要約> パブリック 静的 PropertyInfo [] PropertyTypes { 得ます。プライベート セット; } /// <要約> /// 实体类型 /// </要約> パブリック 静的タイプtype { 得ます。プライベート セット; } 静的アクセサ() { タイプ = typeof演算(S)。 PropertyTypes =type.GetProperties(); } }
第二に、コール・ロジック
ストップウォッチST = 新しいストップウォッチ(); st.Start(); 以下のために(int型 i = 0 ; iは< 10000000 ; iは++ ) { VARの SS =アクセサ<人> .PropertyTypes。 } st.Stop()。 VaRの STR1 = st.ElapsedMilliseconds.ToString()。 st.Reset(); st.Start(); 以下のために(int型 i = 0 ; iは< 10000000 ; iは++ ) { タイプtype = typeof演算(人); VaRの SS = type.GetProperties()。 } st.Stop()。 VaRの STR2 = st.ElapsedMilliseconds.ToString()。