public XTypeWrapper() { var type = typeof(T); maxDim = ReflectionExtensions.AttributeCount <Attributes.DimmensionX>(type); PivotFieldGetters = new MemberInfo[maxDim]; AggregationFunctionsByLevel = new Func <List <decimal?>, decimal?> [maxDim]; foreach (var t in GenerateAttributeList(type)) { PivotFieldGetters [t.Item1.Level] = t.Item2; AggregationFunctionsByLevel[t.Item1.Level] = MappingUtilsExtensions.ExtractAggregationMethod(typeof(TAggregator), t.Item1.AggregationFuncName); } }