示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TypeBuilder"/> class.
 /// </summary>
 /// <param name="typeConstructor">Type constructor</param>
 /// <param name="typeFilter">Type filter</param>
 /// <param name="typeParser">Type parser</param>
 /// <param name="typeResolver">Type resolver</param>
 public TypeBuilder(ITypeActivator typeActivator, ITypeConstructor typeConstructor, ITypeFilter typeFilter, ITypeParser typeParser, ITypeResolver typeResolver)
 {
     Activator   = typeActivator ?? throw new ArgumentNullException(nameof(typeActivator));
     Constructor = typeConstructor ?? throw new ArgumentNullException(nameof(typeConstructor));
     Filter      = typeFilter ?? throw new ArgumentNullException(nameof(typeFilter));
     Resolver    = typeResolver ?? throw new ArgumentNullException(nameof(typeResolver));
     Parser      = typeParser ?? throw new ArgumentNullException(nameof(typeParser));
 }
示例#2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TypeBuilder"/> class.
 /// </summary>
 /// <param name="typeConstructor">Type constructor</param>
 /// <param name="typeFilter">Type filter</param>
 /// <param name="typeParser">Type parser</param>
 /// <param name="typeResolver">Type resolver</param>
 public TypeBuilder(ITypeActivator typeActivator, ITypeConstructor typeConstructor, ITypeFilter typeFilter, ITypeParser typeParser, ITypeResolver typeResolver, ITypeDependencyAttributeProvider typeDependencyAttributeProvider = null, ITypeInjectionAttributeProvider typeInjectionAttributeProvider = null)
 {
     DependencyAttributeExtractor = typeDependencyAttributeProvider ?? throw new ArgumentNullException(nameof(typeDependencyAttributeProvider));
     InjectionAttributeExtractor  = typeInjectionAttributeProvider ?? throw new ArgumentNullException(nameof(typeInjectionAttributeProvider));
     Activator   = typeActivator ?? throw new ArgumentNullException(nameof(typeActivator));
     Constructor = typeConstructor ?? throw new ArgumentNullException(nameof(typeConstructor));
     Filter      = typeFilter ?? throw new ArgumentNullException(nameof(typeFilter));
     Resolver    = typeResolver ?? throw new ArgumentNullException(nameof(typeResolver));
     Parser      = typeParser ?? throw new ArgumentNullException(nameof(typeParser));
 }
示例#3
0
 public static void Register <TValue>(ITypeConstructor <TValue> handler)
 {
     Constructor <TValue> .Construct = handler;
 }
示例#4
0
 public void Visit <TContainer>()
 => TypeConstructor = CreateTypeConstructor <TContainer>();