public override Type GetDbObjectHandler(Type sourceType, ObjectInfo oi) { foreach (var type in _staticAssembly.GetTypes()) { var attr = ClassHelper.GetAttribute <InstanceHandlerAttribute>(type, false); if (attr != null) { if (attr.Type == sourceType) { return(type); } } } throw new DataException("Can not find ObjectHandler for: {0}", sourceType.FullName); }
protected override void OnLoad(EventArgs e) { var t = GetType(); const BindingFlags flag = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; foreach (var fieldInfo in t.GetFields(flag)) { var attr = ClassHelper.GetAttribute <HttpParameterAttribute>(fieldInfo, false); if (attr != null) { ProcessParameterInit(fieldInfo, attr.AllowEmpty); } var inMaster = ClassHelper.GetAttribute <InMasterAttribute>(fieldInfo, false); if (inMaster != null) { ProcessInMasterInit(fieldInfo); } } base.OnLoad(e); }