Я могу сериализировать Текстовый объект C#?

std::queue является адаптером контейнера, и вы можете указать используемый контейнер (по умолчанию используется функция deque). Если вам нужна функциональность, отличная от адаптера, тогда просто используйте deque или другой контейнер.

50
задан von v. 10 April 2013 в 21:13
поделиться

3 ответа

Я не знал, что Текстовый объект мог быть создан только со строкой, содержащей полностью определенное имя. Для получения полностью определенного имени можно использовать следующее:

string typeName = typeof (StringBuilder).FullName;

можно тогда сохранить эту строку, однако необходимую, затем восстановить тип как это:

Type t = Type.GetType(typeName);

, Если необходимо создать экземпляр типа, можно сделать это:

object o = Activator.CreateInstance(t);

, Если Вы проверяете значение o. GetType (), это будет StringBuilder, как Вы ожидали бы.

90
ответ дан Brian Sullivan 7 November 2019 в 10:44
поделиться

Согласно документации MSDN Системы. Тип [1] необходимо быть в состоянии сериализировать Систему. Текстовый объект. Однако, поскольку ошибка явно относится к Системе. Текст. StringBuilder, который вероятен класс, который вызывает ошибку сериализации.

[1] Класс Типа (Система) - http://msdn.microsoft.com/en-us/library/system.type.aspx

2
ответ дан rjzii 7 November 2019 в 10:44
поделиться

Просто посмотревший его определение, это не отмечено как сериализуемое. Если Вам действительно нужны эти данные, чтобы быть, сериализируют, то Вам, вероятно, придется преобразовать их в пользовательский класс, который отмечен как таковой.

public abstract class Type : System.Reflection.MemberInfo
    Member of System

Summary:
Represents type declarations: class types, interface types, array types, value types, enumeration types, type parameters, generic type definitions, and open or closed constructed generic types.

Attributes:
[System.Runtime.InteropServices.ClassInterfaceAttribute(0),
System.Runtime.InteropServices.ComDefaultInterfaceAttribute(System.Runtime.InteropServices._Type),
System.Runtime.InteropServices.ComVisibleAttribute(true)]
1
ответ дан AdamSane 7 November 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: