private static object GetNewPropValue(ExpectUpdate attr, object obj, PropertyInfo prop) { var expectUpdateServices = new List <ExpectUpdateValueServiceBase>(); expectUpdateServices.AddRange(ReflectionUtils.GetTypesFromAssembly <ExpectUpdateValueServiceBase>(typeof(ExpectUpdateValueServiceBase).Assembly) .Select(t => Activator.CreateInstance(t) as ExpectUpdateValueServiceBase)); var targetServices = expectUpdateServices.FirstOrDefault(s => s.TargetType == attr.GetType()); if (targetServices == null) { throw new SPMeta2NotImplementedException(string.Format("Can't find ExpectUpdateValueServiceBase impl for type: [{0}]", attr.GetType())); } return(targetServices.GetNewPropValue(attr, obj, prop)); }
private static object GetNewPropValue(ExpectUpdate attr, object obj, PropertyInfo prop) { var targetServices = ExpectUpdateServices.FirstOrDefault(s => s.TargetType == attr.GetType()); if (targetServices == null) { throw new SPMeta2NotImplementedException(string.Format("Can't find ExpectUpdateValueServiceBase impl for type: [{0}]", attr.GetType())); } return(targetServices.GetNewPropValue(attr, obj, prop)); }