public void FrameworkContainerComposition_with_DynamicAttribute_Test() { var container = new FrameworkContainerForUnity(); var catalog = new FrameworkTypeCatalog(new Type[] { typeof(IEntity), typeof(Entity), typeof(DynamicObject_Tests), typeof(Unity_Component_Tests) }); var visitor = new FrameworkDependencyVisitor(catalog); var root = visitor.VisitTypes(); var composite = new FrameworkCompositionResolverForUnity(container, root); composite.Compose(); //XmlSerializer xs = new XmlSerializer(typeof(UmcCoreIoCElement)); //xs.Serialize(Console.Out, root); var entity = container.Resolve <IEntity>(); entity.Name = "Junil, Um"; Console.WriteLine("Name={0}", entity.Name); entity = container.Resolve <IEntity>(); Console.WriteLine("Name={0}", entity.Name); }
/// <summary> /// 구성 파일에서 <see cref="IFrameworkContainer"/> 로 구성을 합니다. /// </summary> /// <remarks> /// Umc, 2011-01-13. /// </remarks> /// <param name="container"> The container to act on. </param> /// <param name="path"> Full pathname of the file. </param> public static void Load(this IFrameworkContainer container, string path) { container = SetupFrameworkContainer(path, ref container); var xs = new XmlSerializer(typeof(UmcCoreIoCElement)); var containerElement = (UmcCoreIoCElement)xs.Deserialize(File.OpenRead(path)); containerElement.Verify(); IFrameworkComposable resolver = new FrameworkCompositionResolverForUnity((FrameworkContainerForUnity)container, containerElement); resolver.Compose(); }
public void FrameworkContainerComposition_with_DynamicAttribute_Test() { var container = new FrameworkContainerForUnity(); var catalog = new FrameworkTypeCatalog(new Type[] { typeof(IEntity), typeof(Entity), typeof(DynamicObject_Tests), typeof(Unity_Component_Tests) }); var visitor = new FrameworkDependencyVisitor(catalog); var root = visitor.VisitTypes(); var composite = new FrameworkCompositionResolverForUnity(container, root); composite.Compose(); //XmlSerializer xs = new XmlSerializer(typeof(UmcCoreIoCElement)); //xs.Serialize(Console.Out, root); var entity = container.Resolve<IEntity>(); entity.Name = "Junil, Um"; Console.WriteLine("Name={0}", entity.Name); entity = container.Resolve<IEntity>(); Console.WriteLine("Name={0}", entity.Name); }
private FrameworkContainerForUnity CompositionTheTypes(Type[] types) { var visitor = new FrameworkDependencyVisitor(types); var root = visitor.VisitTypes(); WriteToSerialization(root); var container = new FrameworkContainerForUnity(); var resolver = new FrameworkCompositionResolverForUnity(container, root); resolver.Compose(); return container; }