Я пытаюсь сериализовать свое собственное перечисление с помощью бинарного форматера, но получаю сообщение об ошибке, в котором говорится, что нет идентификатора сборки. Мое перечисление выглядит так:
[Serializable]
public enum MyEnum{NONE, OPTION1, OPTION2, OPTION3};
Это мой код для сериализации:
public class Binder : SerializationBinder
{
public override Type BindToType(string assemblyName, string typeName)
{
return Type.GetType(typeName);
}
public override void BindToName(Type serializedType, out string assemblyName, out string typeName)
{
assemblyName = "";
typeName = serializedType.FullName;
}
}
public static byte[] GetBytes<T>(this T c)
{
BinaryFormatter bf = new BinaryFormatter();
using (MemoryStream m = new MemoryStream())
{
bf.Binder = new Binder();
bf.Serialize(m, c);
return m.ToArray();
}
}
Полная ошибка:
Возникло исключение: 'System.Runtime. Serialization.SerializationException 'в mscorlib.dll Произошло необработанное исключение типа' System.Runtime.Serialization.SerializationException 'в mscorlib.dll Нет идентификатора сборки для типа объекта' program.MyEnum '.