comparison Implab.ServiceHost/Unity/ContainerConfigurationSchema.cs @ 277:963b17c275be v3

Refactoring Added <array> element to injection parameters Working on registrations of factories
author cin
date Sat, 28 Apr 2018 18:48:09 +0300
parents 22629bf26121
children 6691aff01de1
comparison
equal deleted inserted replaced
276:b4e0f81c7425 277:963b17c275be
31 31
32 public void RegisterContainerElement(Type type, string name) { 32 public void RegisterContainerElement(Type type, string name) {
33 Safe.ArgumentNotNull(type, nameof(type)); 33 Safe.ArgumentNotNull(type, nameof(type));
34 Safe.ArgumentNotEmpty(name, nameof(name)); 34 Safe.ArgumentNotEmpty(name, nameof(name));
35 35
36 if(!type.IsSubclassOf(typeof(ContainerItemElement))) 36 if(!type.IsSubclassOf(typeof(AbstractContainerItem)))
37 throw new Exception($"RegisterContainerElement '{name}': {type} must be subclass of {typeof(ContainerItemElement)}"); 37 throw new Exception($"RegisterContainerElement '{name}': {type} must be subclass of {typeof(AbstractContainerItem)}");
38 38
39 m_containerItems.XmlElements.Add( 39 m_containerItems.XmlElements.Add(
40 new XmlElementAttribute(name, type) 40 new XmlElementAttribute(name, type)
41 ); 41 );
42 } 42 }
43 43
44 public void RegisterContainerElement<T>(string name) where T : ContainerItemElement { 44 public void RegisterContainerElement<T>(string name) where T : AbstractContainerItem {
45 RegisterContainerElement(typeof(T), name); 45 RegisterContainerElement(typeof(T), name);
46 } 46 }
47 47
48 public ContainerElement LoadFile(string file) { 48 public ContainerElement LoadFile(string file) {
49 using (var reader = XmlReader.Create(file)) { 49 using (var reader = XmlReader.Create(file)) {