【发布时间】:2011-12-22 21:16:19
【问题描述】:
如果我有一个复杂的对象,我可以从它继承并删除或忽略某些属性吗?
如果您不关心为什么我想这样做,请随时提交答案。
如果您在乎,可以阅读this question。总结一下,我有一个对象,它有一个不可可序列化的属性,我想序列化整个对象。有问题的对象是System.Exception
为了解决这个问题,我想简单地创建自己的 JsonException 对象,继承基础 (System.Exception) 的所有可爱属性,除了删除(或清空)丑小鸭 (Exception.TargetSite)。
类似:
public class MyException : Exception
{
// Note this is not actually possible
// just demonstrating what I thought to do in theory
public override System.Reflection.MethodBase TargetSite
{
get
{
return null;
}
}
public MyException(string message)
: base()
{
}
}
另外请记住,我坚持使用 .NET 2.0,如果我不需要,我真的不想使用自定义序列化程序(如 Json.NET)。
【问题讨论】:
-
一个异常是可序列化的......至少对于二进制序列化。您使用的是哪种序列化?
-
这并不能直接回答您的问题,但可能会有所帮助stackoverflow.com/questions/390051/…
-
@ThomasLevesque 当我用
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]装饰WebMethod时被调用的那种我相信是JavaScriptSerializer.Serialize
标签: c# oop serialization