@@ -14,9 +14,13 @@ namespace GraphQL.MicrosoftDI
14
14
/// An implementation of <see cref="IGraphQLBuilder"/> which uses the Microsoft dependency injection framework
15
15
/// to register services and configure options.
16
16
/// </summary>
17
- internal class GraphQLBuilder : GraphQLBuilderBase
17
+ public class GraphQLBuilder : GraphQLBuilderBase
18
18
{
19
- private readonly IServiceCollection _services ;
19
+ /// <summary>
20
+ /// Returns the underlying <see cref="IServiceCollection"/> of this builder.
21
+ /// </summary>
22
+ public IServiceCollection Services { get ; }
23
+
20
24
/// <summary>
21
25
/// Initializes a new instance for the specified service collection.
22
26
/// </summary>
@@ -25,7 +29,7 @@ internal class GraphQLBuilder : GraphQLBuilderBase
25
29
/// </remarks>
26
30
public GraphQLBuilder ( IServiceCollection services )
27
31
{
28
- _services = services ?? throw new ArgumentNullException ( nameof ( services ) ) ;
32
+ Services = services ?? throw new ArgumentNullException ( nameof ( services ) ) ;
29
33
services . AddOptions ( ) ;
30
34
Initialize ( ) ;
31
35
}
@@ -59,7 +63,7 @@ public override IGraphQLBuilder Register(Type serviceType, Func<IServiceProvider
59
63
if ( implementationFactory == null )
60
64
throw new ArgumentNullException ( nameof ( implementationFactory ) ) ;
61
65
62
- _services . Add ( new ServiceDescriptor ( serviceType , implementationFactory , TranslateLifetime ( serviceLifetime ) ) ) ;
66
+ Services . Add ( new ServiceDescriptor ( serviceType , implementationFactory , TranslateLifetime ( serviceLifetime ) ) ) ;
63
67
return this ;
64
68
}
65
69
@@ -71,7 +75,7 @@ public override IGraphQLBuilder Register(Type serviceType, Type implementationTy
71
75
if ( implementationType == null )
72
76
throw new ArgumentNullException ( nameof ( implementationType ) ) ;
73
77
74
- _services . Add ( new ServiceDescriptor ( serviceType , implementationType , TranslateLifetime ( serviceLifetime ) ) ) ;
78
+ Services . Add ( new ServiceDescriptor ( serviceType , implementationType , TranslateLifetime ( serviceLifetime ) ) ) ;
75
79
return this ;
76
80
}
77
81
@@ -83,7 +87,7 @@ public override IGraphQLBuilder Register(Type serviceType, object implementation
83
87
if ( implementationInstance == null )
84
88
throw new ArgumentNullException ( nameof ( implementationInstance ) ) ;
85
89
86
- _services . Add ( new ServiceDescriptor ( serviceType , implementationInstance ) ) ;
90
+ Services . Add ( new ServiceDescriptor ( serviceType , implementationInstance ) ) ;
87
91
return this ;
88
92
}
89
93
@@ -95,7 +99,7 @@ public override IGraphQLBuilder TryRegister(Type serviceType, Func<IServiceProvi
95
99
if ( implementationFactory == null )
96
100
throw new ArgumentNullException ( nameof ( implementationFactory ) ) ;
97
101
98
- _services . TryAdd ( new ServiceDescriptor ( serviceType , implementationFactory , TranslateLifetime ( serviceLifetime ) ) ) ;
102
+ Services . TryAdd ( new ServiceDescriptor ( serviceType , implementationFactory , TranslateLifetime ( serviceLifetime ) ) ) ;
99
103
return this ;
100
104
}
101
105
@@ -107,7 +111,7 @@ public override IGraphQLBuilder TryRegister(Type serviceType, Type implementatio
107
111
if ( implementationType == null )
108
112
throw new ArgumentNullException ( nameof ( implementationType ) ) ;
109
113
110
- _services . TryAdd ( new ServiceDescriptor ( serviceType , implementationType , TranslateLifetime ( serviceLifetime ) ) ) ;
114
+ Services . TryAdd ( new ServiceDescriptor ( serviceType , implementationType , TranslateLifetime ( serviceLifetime ) ) ) ;
111
115
return this ;
112
116
}
113
117
@@ -119,7 +123,7 @@ public override IGraphQLBuilder TryRegister(Type serviceType, object implementat
119
123
if ( implementationInstance == null )
120
124
throw new ArgumentNullException ( nameof ( implementationInstance ) ) ;
121
125
122
- _services . TryAdd ( new ServiceDescriptor ( serviceType , implementationInstance ) ) ;
126
+ Services . TryAdd ( new ServiceDescriptor ( serviceType , implementationInstance ) ) ;
123
127
return this ;
124
128
}
125
129
}
0 commit comments