SerializationInfoExtensions
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Runtime.CompilerServices;
namespace System.Runtime.Serialization
{
    [NullableContext(1)]
    [Nullable(0)]
    internal static class SerializationInfoExtensions
    {
        private static readonly Action<SerializationInfo, string, object, Type> s_updateValue = typeof(SerializationInfo).GetMethod("UpdateValue", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).CreateDelegate<Action<SerializationInfo, string, object, Type>>();
        [DynamicDependency(DynamicallyAccessedMemberTypes.NonPublicMethods, typeof(SerializationInfo))]
        internal static void UpdateValue(this SerializationInfo si, string name, object value, Type type)
        {
            s_updateValue(si, name, value, type);
        }
    }
}