如何用代码判断一个对象是否可序列化?

manasheep 2008-04-24 02:41:25
例如有如下类定义:
            [Serializable]
public class MO
{
...
}

[Serializable]标记指示该类的对象可以被序列化。
那么我们获得了一个MO对象时,如何使用代码来甄别它是否支持序列化呢?
应用情景可参考如下代码:
[code=C#]
if(判别语句)
{
序列化该对象;
}
else
{
抛出异常;
}
[code]
...全文
669 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovemicmvp 2010-04-20
  • 打赏
  • 举报
回复
if(obj.GetType().IsSerializable)
sxq23221 2010-03-25
  • 打赏
  • 举报
回复
撒旦法v
hunluan89 2009-09-14
  • 打赏
  • 举报
回复
同样需求
vrhero 2008-04-24
  • 打赏
  • 举报
回复
有错误...
if (obj.GetType().Attributes & System.Reflection.TypeAttributes.Serializable == System.Reflection.TypeAttributes.Serializable)
{
...
}
vrhero 2008-04-24
  • 打赏
  • 举报
回复
如果一定要判断...
if (obj.GetType().Attributes & System.Reflection.TypeAttributes.Serializable) == System.Reflection.TypeAttributes.Serializable)
{
...
}
manasheep 2008-04-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vrhero 的回复:]
序列化时如果对象不支持序列化自然会抛异常...你这么做是多此一举...
[/Quote]
我知道,这只是一个简单的情景说明~,别的用途呢?我总不能依靠异常来判别是否支持序列化吧?
vrhero 2008-04-24
  • 打赏
  • 举报
回复
序列化时如果对象不支持序列化自然会抛异常...你这么做是多此一举...
manasheep 2008-04-24
  • 打赏
  • 举报
回复
修正一下格式。。。:



例如有如下类定义:

[Serializable]
public class MO
{
...
}



[Serializable]标记指示该类的对象可以被序列化。
那么我们获得了一个MO对象时,如何使用代码来甄别它是否支持序列化呢?
应用情景可参考如下代码:
 
if(判别语句)
{
序列化该对象;
}
else
{
抛出异常;
}

111,076

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧