相关疑难解决方法(0)

如何在C#中检查对象是否可序列化

我正在寻找一种简单的方法来检查C#中的对象是否可序列化.

我们知道,通过实现ISerializable接口或将[Serializable]放在类的顶部,可以使对象可序列化.

我正在寻找的是一种快速检查方法,而无需反映类以获得它的属性.接口可以快速使用is语句.

使用@Flard的建议这是我提出的代码,尖叫是有更好的方法.

private static bool IsSerializable(T obj)
{
    return ((obj is ISerializable) || (Attribute.IsDefined(typeof (T), typeof (SerializableAttribute))));
}
Run Code Online (Sandbox Code Playgroud)

或者甚至更好地获取对象的类型,然后在类型上使用IsSerializable属性:

typeof(T).IsSerializable
Run Code Online (Sandbox Code Playgroud)

请记住,这似乎只是我们正在处理的类,如果类包含其他类,您可能想要检查它们或尝试序列化并等待错误,如@pb指出的那样.

c# serialization

93
推荐指数
6
解决办法
6万
查看次数

我可以在c#中以字节为单位获取Session对象的大小吗?

是否可以在存储诸如数据表之类的内容之后获取Session对象的大小(以字节为单位)?

我想获得特定Session对象的大小,例如Session ["table1"],而不是整个Session集合,所以另一个问题虽然有用,但并不是完全重复.

c# asp.net session

2
推荐指数
1
解决办法
5126
查看次数

标签 统计

c# ×2

asp.net ×1

serialization ×1

session ×1