Beispiel #1
0
    public void DeleteInnerScheme(InnerContainer container)
    {
        var removedLinks = new List <LinkContainer>();

        container.SourceThisLinks.ForEach((x) => {
            if (removedLinks.Contains(x))
            {
                return;
            }
            removedLinks.Add(x);
            x.Link.RemoveLink();
            x.Design.DestroyThis();
            x.TargetScheme.TargetThisLinks.Remove(x);
            Links.Remove(x);
        });
        container.TargetThisLinks.ForEach((x) => {
            if (removedLinks.Contains(x))
            {
                return;
            }
            x.Link.RemoveLink();
            x.Design.DestroyThis();
            x.SourceScheme.SourceThisLinks.Remove(x);
            Links.Remove(x);
        });
        removedLinks.Clear();
        (container.Design as BaseInnerSchemeDesign).DestroyThis();
        container.Scheme.UnlinkAll();
        InnerSchemes.Remove(container);
        InnerSchemesList.Remove(container.Scheme);
        Schemes.Remove(container.SchemeName);
    }
 public bool IsRegistered(Type type, string name)
 {
     if (name != null)
     {
         name = name.ToLower();
     }
     return(InnerContainer.IsRegistered(type, name));
 }
 public object Resolve(Type type, string name)
 {
     if (name != null)
     {
         name = name.ToLower();
     }
     return(InnerContainer.Resolve(type, name));
 }
 /// <inheritdoc />
 public bool TryResolve(Type type, out object dependency)
 {
     if (type == null)
     {
         throw new ArgumentNullException(nameof(type));
     }
     return(InnerContainer.TryResolve(type, out dependency));
 }
 /// <inheritdoc />
 public void GetAllRegisteredObjects(ICollection <object> objects)
 {
     if (objects == null)
     {
         throw new ArgumentNullException(nameof(objects));
     }
     InnerContainer.GetAllRegisteredObjects(objects);
 }
 /// <inheritdoc />
 public bool CanBeResolvedSafe(Type type)
 {
     if (type == null)
     {
         throw new ArgumentNullException(nameof(type));
     }
     return(InnerContainer.CanBeResolvedSafe(type));
 }
 public IDependencyContainer RegisterInstance(Type from, object instance, string name)
 {
     if (name != null)
     {
         name = name.ToLower();
     }
     InnerContainer.RegisterInstance(from, name, instance);
     return(this);
 }
 public IDependencyContainer RegisterType(Type from, Type to, string name)
 {
     if (name != null)
     {
         name = name.ToLower();
     }
     InnerContainer.RegisterType(from, to, name);
     return(this);
 }
        public object Resolve(Type type, ConstructorArg[] args)
        {
            if (args == null || args.Length == 0)
            {
                return(Resolve(type));
            }
            var parameterOverrides = Array.ConvertAll(args, x => new ParameterOverride(x.Name, x.Value) as ResolverOverride);

            return(InnerContainer.Resolve(type, parameterOverrides));
        }
Beispiel #10
0
    public void AddScheme(UIInnerSchemeBuildInfo innerSchemeInfo)
    {
        var innerContainer = new InnerContainer(innerSchemeInfo);

        InnerSchemes.Add(innerContainer);
        InnerSchemesList.Add(innerContainer.Scheme);
        Schemes.Add(innerSchemeInfo.BuildString.Name, innerContainer);

        innerContainer.Design = SchemeDesigner.Instance.CreateInnerScheme(innerContainer);
    }
 public IDependencyContainer RegisterInstance(Type from, object instance)
 {
     InnerContainer.RegisterInstance(from, instance);
     return(this);
 }
 public List <object> ResolveAll(Type type)
 {
     return(InnerContainer.ResolveAll(type).ToList());
 }
 public IDependencyContainer RegisterType(Type from, Type to)
 {
     InnerContainer.RegisterType(from, to);
     return(this);
 }
 public bool IsRegistered(Type type)
 {
     return(InnerContainer.IsRegistered(type));
 }
 public object Resolve(Type type)
 {
     return(InnerContainer.Resolve(type));
 }
 /// <summary>
 /// Check dependency graph for loops.
 /// </summary>
 /// <returns>True if there is a loop, false otherwise.</returns>
 public bool HasLoops() => InnerContainer.HasLoops();