internal static IRepeatedSerializer <T> GetSerializer <T>(MemberInfo original) { var provider = RuntimeTypeModel.GetUnderlyingProvider(original, typeof(T)); object obj = provider switch { FieldInfo field when field.IsStatic => field.GetValue(null), MethodInfo method when method.IsStatic => method.Invoke(null, null), _ => null, }; if (obj is IRepeatedSerializer <T> serializer) { return(serializer); } ThrowHelper.ThrowInvalidOperationException($"No suitable repeated serializer resolved for {typeof(T).NormalizeName()}"); return(default);
internal static object GetSerializer(Type type) => RuntimeTypeModel.GetUnderlyingProvider(GetProvider(type), type) switch {