| @@ -246,7 +246,7 @@ namespace Discord.Commands | |||||
| builder.Summary = summary.Text; | builder.Summary = summary.Text; | ||||
| break; | break; | ||||
| case OverrideTypeReaderAttribute typeReader: | case OverrideTypeReaderAttribute typeReader: | ||||
| builder.TypeReader = GetTypeReader(service, paramType, typeReader.TypeReader, services); | |||||
| builder.TypeReader = ReflectionUtils.CreateObject<TypeReader>(typeReader.TypeReader.GetTypeInfo(), service, EmptyServiceProvider.Instance); | |||||
| break; | break; | ||||
| case ParamArrayAttribute _: | case ParamArrayAttribute _: | ||||
| builder.IsMultiple = true; | builder.IsMultiple = true; | ||||
| @@ -279,23 +279,6 @@ namespace Discord.Commands | |||||
| } | } | ||||
| } | } | ||||
| private static TypeReader GetTypeReader(CommandService service, Type paramType, Type typeReaderType, IServiceProvider services) | |||||
| { | |||||
| var readers = service.GetTypeReaders(paramType); | |||||
| TypeReader reader = null; | |||||
| if (readers != null) | |||||
| { | |||||
| if (readers.TryGetValue(typeReaderType, out reader)) | |||||
| return reader; | |||||
| } | |||||
| //We dont have a cached type reader, create one | |||||
| reader = ReflectionUtils.CreateObject<TypeReader>(typeReaderType.GetTypeInfo(), service, services); | |||||
| service.AddTypeReader(paramType, reader); | |||||
| return reader; | |||||
| } | |||||
| private static bool IsValidModuleDefinition(TypeInfo typeInfo) | private static bool IsValidModuleDefinition(TypeInfo typeInfo) | ||||
| { | { | ||||
| return _moduleTypeInfo.IsAssignableFrom(typeInfo) && | return _moduleTypeInfo.IsAssignableFrom(typeInfo) && | ||||