public static string GetTypeName(Type t, TypeNameAssemblyFormatHandling assemblyFormat, ISerializationBinder binder)
        {
            string fullyQualifiedTypeName = GetFullyQualifiedTypeName(t, binder);

            switch (assemblyFormat)
            {
            case TypeNameAssemblyFormatHandling.Simple:
                return(RemoveAssemblyDetails(fullyQualifiedTypeName));

            case TypeNameAssemblyFormatHandling.Full:
                return(fullyQualifiedTypeName);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }