2014-02-18 1 views
0

У меня есть этот метод, чтобы убедиться, что объект может быть сериализовать в двоичный файл:Как обеспечить этот объект может быть сериализовать в XML

public static bool IsSerializable<T>(this T obj) 
    { 
     return typeof (T).Attributes.HasFlag(TypeAttributes.Serializable) || obj is ISerializable; 
    } 

, но я не могу сделать то же самое для XML. Например, я могу написать это

public static bool IsXmlSerializable<T>() 
    { 
     var type = typeof (T); 
     return type.GetInterface("IXmlSerializable") != null; 
    } 

, но как я могу проверить, что атрибут XmlType или что-то еще используется?

Пожалуйста, совет.

+1

Вы можете сериализовать ничего, вот почему. – Sinatr

+1

Опасайтесь, что ваша первая версия на самом деле не правильная - она ​​не проверяет какие-либо объекты, содержащиеся или унаследованные. Это может все еще провалиться! Самый простой - это попытка сериализации и проверки исключения. – Jaapjan

+0

@ Синат, ты прав, тнх. –

ответ

Смежные вопросы