我运行了sgen
针对我的装配,每公吨类型。我想从序列化中排除2种类型。我似乎无法找到办法做到这一点。如何从序列化中排除特定类型?
我看到sgen
有一个/type
开关来指定一个特定的类型,但没有排除一个特定的类型。
有没有办法从序列化中排除特定类型?
我运行了sgen
针对我的装配,每公吨类型。我想从序列化中排除2种类型。我似乎无法找到办法做到这一点。如何从序列化中排除特定类型?
我看到sgen
有一个/type
开关来指定一个特定的类型,但没有排除一个特定的类型。
有没有办法从序列化中排除特定类型?
不知道你是否在寻找这个,但是你可以通过在类定义之前提及[NonSerialized]来从序列化中排除你自己的类。 所以,如果你想排除特定的类型,你将不得不从它继承和创建自己的类
[NonSerialized]
public class Point
{
public int x, y;
}
这段代码不应该编译,因为'NonSerialized'属性的唯一目标是字段。 – tm1 2013-04-15 07:14:18
错误属性'NonSerialized'在此声明类型上无效。它只对'field'声明有效。 – 2014-09-25 04:52:22
除了将要在不同的装配,以排除类型,你不能从串行排除类型代。
您可以尝试通过将该类标记为internal
来更改要从Xml序列化中排除的类的访问权限,则sgen.exe应跳过该类。
internal class NotToBeSerialized
{
...
}
也许我不明白你的问题,但'sgen'只生成序列化程序集。那里有另外两门课是什么问题? – 2013-02-03 22:41:16