public object Clone() { BeanConfig bc = null; try { bc = (BeanConfig)Activator.CreateInstance(GetType()); } catch (TargetInvocationException e) { throw new ConfigException(e); } catch (MemberAccessException e) { throw new ConfigException(e); } if (bc == null) { return(null); } bc.ClassName = ClassName; bc.Name = Name; var @params = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase); @params.AddRange(@params); bc.@params = @params; return(bc); }
/// <exception cref="System.MemberAccessException" /> /// <exception cref="System.Reflection.TargetInvocationException" /> public static object CreateBean(BeanConfig config) { var bean = config.Create(true); if (bean is IDictionary <string, object> ) { var map = (IDictionary <string, object>)bean; foreach (var entry in config.Params) { var key = entry.Key; var value = entry.Value; if (value is BeanConfig) { var mapBeanConfig = (BeanConfig)entry.Value; value = mapBeanConfig.Create(true); Mapping(value, mapBeanConfig.Params); } map[key] = value; } } else if (bean is IList <object> ) { // } else { Mapping(bean, config.Params); } return(bean); }
public static BeanConfig LoadBean(XmlElement e) { if (e == null) { return(null); } var bean = new BeanConfig(); bean.Name = e.GetAttribute("name"); var element = LoadElement(e, "className"); if (element != null) { bean.ClassName = element.InnerText; } else { bean.ClassName = e.GetAttribute("class"); } bean.Params = LoadElements(e); return(bean); }
/// <exception cref="System.MemberAccessException" /> /// <exception cref="System.Reflection.TargetInvocationException" /> public static object CreateBean(BeanConfig config) { var bean = config.Create(true); if (bean is IDictionary<string, object>) { var map = (IDictionary<string, object>) bean; foreach (var entry in config.Params) { var key = entry.Key; var value = entry.Value; if (value is BeanConfig) { var mapBeanConfig = (BeanConfig) entry.Value; value = mapBeanConfig.Create(true); Mapping(value, mapBeanConfig.Params); } map[key] = value; } } else if (bean is IList<object>) { // } else { Mapping(bean, config.Params); } return bean; }
public static BeanConfig LoadBean(XmlElement e) { if (e == null) return null; var bean = new BeanConfig(); bean.Name = e.GetAttribute("name"); var element = LoadElement(e, "className"); if (element != null) bean.ClassName = element.InnerText; else bean.ClassName = e.GetAttribute("class"); bean.Params = LoadElements(e); return bean; }