public DictionaryAdapterMeta(Type type, IDictionaryInitializer[] initializers, object[] behaviors, IDictionary<String, PropertyDescriptor> properties) { Type = type; Initializers = initializers; Behaviors = behaviors; Properties = properties; }
public DictionaryAdapterMeta(Type type, IDictionaryInitializer[] initializers, IDictionaryMetaInitializer[] metaInitializers, object[] behaviors, IDictionary<String, PropertyDescriptor> properties, IDictionaryAdapterFactory factory) { Type = type; Initializers = initializers; MetaInitializers = metaInitializers; Behaviors = behaviors; Properties = properties; InitializeMeta(factory, metaInitializers); }
private static IDictionaryInitializer[] MergeInitializers( IDictionaryInitializer[] source, List<IDictionaryBehavior> behaviors) { int index, count; IDictionaryInitializer initializer; var result = null as List<IDictionaryInitializer>; count = source.Length; for (index = 0; index < count; index++) PropertyDescriptor.MergeBehavior(ref result, source[index]); count = behaviors.Count; for (index = 0; index < count; index++) if (null != (initializer = behaviors[index] as IDictionaryInitializer)) PropertyDescriptor.MergeBehavior(ref result, initializer); return result == null ? NoInitializers : result.ToArray(); }