55using System . Linq . Expressions ;
66using System . Reflection ;
77using System . Text ;
8- using J4JSoftware . Logging ;
98
109namespace J4JSoftware . CommandLine
1110{
@@ -34,16 +33,15 @@ public int GetHashCode(ITypeBoundOption obj)
3433
3534 public OptionCollection (
3635 MasterTextCollection masterText ,
37- IJ4JLogger logger
36+ CommandLineLogger logger
3837 )
3938 {
4039 MasterText = masterText ;
4140
4241 Logger = logger ;
43- Logger . SetLoggedType ( GetType ( ) ) ;
4442 }
4543
46- protected IJ4JLogger Logger { get ; }
44+ protected CommandLineLogger Logger { get ; }
4745 protected MasterTextCollection MasterText { get ; }
4846 protected List < IOption > Options { get ; } = new ( ) ;
4947
@@ -105,7 +103,7 @@ public bool Bind<TTarget, TProp>(
105103
106104 if ( ! ValidateProperty ( propInfo , bindNonPublic , out var curStyle ) )
107105 {
108- Logger . Error < string > ( "Property '{0 }' is invalid" , propInfo . Name ) ;
106+ Logger . Log ( $ "Property '{ propInfo . Name } ' is invalid") ;
109107 return false ;
110108 }
111109
@@ -125,7 +123,7 @@ public bool Bind<TTarget, TProp>(
125123
126124 if ( ! ValidateProperty ( propInfo2 , bindNonPublic , out var curStyle2 ) )
127125 {
128- Logger . Error < string > ( "Property '{0 }' is invalid" , propInfo2 . Name ) ;
126+ Logger . Log ( $ "Property '{ propInfo2 . Name } ' is invalid") ;
129127 return false ;
130128 }
131129
@@ -168,7 +166,7 @@ public bool UsesContextPath( string contextPath )
168166 {
169167 if ( ! MasterText . IsValid )
170168 {
171- Logger . Error ( "MasterTextCollection is not initialized" ) ;
169+ Logger . Log ( "MasterTextCollection is not initialized" ) ;
172170 return false ;
173171 }
174172
@@ -182,7 +180,7 @@ public IOption? this[ string key ]
182180 {
183181 if ( ! MasterText . IsValid )
184182 {
185- Logger . Error ( "MasterTextCollection is not initialized" ) ;
183+ Logger . Log ( "MasterTextCollection is not initialized" ) ;
186184 return null ;
187185 }
188186
@@ -238,7 +236,7 @@ private bool ValidateGenericType(Type genType, out OptionStyle? style)
238236
239237 if ( genType . GenericTypeArguments . Length != 1 )
240238 {
241- Logger . Error ( "Generic type '{0 }' does not have just one generic Type argument" , genType ) ;
239+ Logger . Log ( $ "Generic type '{ genType . Name } ' does not have just one generic Type argument") ;
242240 return false ;
243241 }
244242
@@ -247,7 +245,7 @@ private bool ValidateGenericType(Type genType, out OptionStyle? style)
247245
248246 if ( ! typeof ( List < > ) . MakeGenericType ( genType . GenericTypeArguments [ 0 ] ) . IsAssignableFrom ( genType ) )
249247 {
250- Logger . Error ( "Generic type '{0 }' is not a List<> type" , genType ) ;
248+ Logger . Log ( $ "Generic type '{ genType } ' is not a List<> type") ;
251249 return false ;
252250 }
253251
@@ -269,7 +267,7 @@ private bool ValidateType(Type toCheck)
269267 || toCheck . GetConstructors ( ) . Any ( c => c . GetParameters ( ) . Length == 0 ) )
270268 return true ;
271269
272- Logger . Error ( "Unsupported type '{0 }'" , toCheck ) ;
270+ Logger . Log ( $ "Unsupported type '{ toCheck } '") ;
273271
274272 return false ;
275273 }
@@ -278,19 +276,19 @@ private bool ValidateAccessMethod(MethodInfo? methodInfo, bool bindNonPublic, st
278276 {
279277 if ( methodInfo == null )
280278 {
281- Logger . Error < string > ( "Property '{0 }' does not have a get or set method" , propName ) ;
279+ Logger . Log ( $ "Property '{ propName } ' does not have a get or set method") ;
282280 return false ;
283281 }
284282
285283 if ( ! methodInfo . IsPublic && ! bindNonPublic )
286284 {
287- Logger . Error < string > ( "Property '{0 }::{1 }' is not bindable" , propName , methodInfo . Name ) ;
285+ Logger . Log ( $ "Property '{ propName } ::{ methodInfo . Name } ' is not bindable") ;
288286 return false ;
289287 }
290288
291289 if ( methodInfo . GetParameters ( ) . Length > allowedParams )
292290 {
293- Logger . Error < string > ( "Property '{0 }::{1 }' is indexed" , propName , methodInfo . Name ) ;
291+ Logger . Log ( $ "Property '{ propName } ::{ methodInfo . Name } ' is indexed") ;
294292 return false ;
295293 }
296294
0 commit comments