/// <summary> /// Adds a dependency to the group. /// </summary> /// <param name="type">Dependency .NET type.</param> /// <param name="name">Dependency name.</param> public void Dependency(Type type, string name) { Declaration declaration = Scope.Declare(type, name); var dependency = new DependencyElement(declaration, Scope.Declarations, type); declaration.Target = dependency; _dependencies.Add(dependency); }
/// <summary> /// Creates a dependency element. /// </summary> /// <param name="declaration">Declaration that references the dependency.</param> /// <param name="serviceType">Type of the service that the dependency represents.</param> /// <returns>Created element.</returns> public static DependencyElement Dependency(Declaration declaration, Type serviceType) { if (declaration == null) { throw new ArgumentNullException(nameof(declaration), "Dependency declaration not provided"); } if (serviceType == null) { throw new ArgumentNullException(nameof(serviceType), "Dependency type not provided"); } var element = new DependencyElement(declaration, serviceType); declaration.Target = element; return(element); }
protected virtual Dependency GetDependency(DependencyElement dependencyElement) { var dependency = new Dependency { Check = dependencyElement.Check, DownloadUrl = dependencyElement.DownloadUrl, Enabled = dependencyElement.Enabled, Explanation = dependencyElement.Explanation, InfoUrl = dependencyElement.InfoUrl, Category = dependencyElement.Category, ScriptName = dependencyElement.ScriptName, Title = dependencyElement.Title, Settings = dependencyElement.Settings }; return(dependency); }
public IEntity CreateWithAttributeCollection ( bool isLeft, IEntity attributeCollection, IEntity functionalDependency ) { var dependencyElement = new DependencyElement { IsLeft = isLeft, AttributeCollection = _dependencyElementContext.AttributeCollections.Find ( attributeCollection.Id ), FunctionalDependency = _dependencyElementContext.FunctionalDependencies.Find ( functionalDependency.Id ) }; _dependencyElementContext.DependencyElements.Add(dependencyElement); _dependencyElementContext.SaveChanges(); return(dependencyElement); }
protected internal virtual void VisitDependency(TContext context, DependencyElement element) { }
/// <summary> /// 매개 변수에 대한 역직렬화를 수행합니다. /// </summary> /// <param name="reflectionName">매개 변수의 리플랙션 수준의 이름입니다.</param> /// <param name="element"> 컨테이너 요소입니다. </param> /// <returns>IoC 컨테이너가 제공하는 매개 변수에 대한 객체 입니다.</returns> protected abstract object ResolveParamOfDependencyElement(string reflectionName, DependencyElement element);
/// <summary> /// 매개 변수에 대한 역직렬화를 수행합니다. /// </summary> /// <param name="reflectionName">매개 변수의 리플랙션 수준의 이름입니다.</param> /// <param name="element"> 컨테이너 요소입니다. </param> /// <returns>IoC 컨테이너가 제공하는 매개 변수에 대한 객체 입니다.</returns> protected override object ResolveParamOfDependencyElement(string reflectionName, DependencyElement element) { DynamicParametersDelegate @delegate = (kernel, d) => { if (element.key == null) { d[reflectionName] = kernel.Resolve(Type.GetType(element.typeOfContract)); } else { d[reflectionName] = kernel.Resolve(element.key, Type.GetType(element.typeOfContract)); } }; return(@delegate); }
/// <summary> /// 매개 변수에 대한 역직렬화를 수행합니다. /// </summary> /// <param name="reflectionName">매개 변수의 리플랙션 수준의 이름입니다.</param> /// <param name="element"> 컨테이너 요소입니다. </param> /// <returns>IoC 컨테이너가 제공하는 매개 변수에 대한 객체 입니다.</returns> protected override object ResolveParamOfDependencyElement(string reflectionName, DependencyElement element) { Debug.WriteLine(element.typeOfContract); return(new ResolvedParameter(Type.GetType(element.typeOfContract), element.key)); }
/// <summary> /// Adds a dependency element to the group element. /// </summary> /// <param name="element">Element to add.</param> public void Dependency(DependencyElement element) { _dependencies.Add(element); }