获取Enum中项个数的优雅方法
在Microsoft.Practices.ObjectBuilder2中的StagedStrategyChain<TStageEnum>类中只用的下面的方法来获取枚举里元素的个数:
1: private static int NumberOfEnumValues()
2: {3: return typeof(TStageEnum).GetFields(BindingFlags.Public | BindingFlags.Static).Length;
4: }使用方式:
1: readonly List<IBuilderStrategy>[] stages;
2: 3: /// <summary>
4: /// Initialize a new instance of the <see cref="StagedStrategyChain{TStageEnum}"/> class.
5: /// </summary>
6: public StagedStrategyChain()
7: {8: stages = new List<IBuilderStrategy>[NumberOfEnumValues()];
9: 10: for(int i = 0; i < stages.Length; ++i)
11: {12: stages[i] = new List<IBuilderStrategy>();
13: } 14: }
浙公网安备 33010602011771号