2012-07-19 55 views
6

我运行了sgen针对我的装配,每公吨类型。我想从序列化中排除2种类型。我似乎无法找到办法做到这一点。如何从序列化中排除特定类型?

我看到sgen有一个/type开关来指定一个特定的类型,但没有排除一个特定的类型。

有没有办法从序列化中排除特定类型?

+0

也许我不明白你的问题,但'sgen'只生成序列化程序集。那里有另外两门课是什么问题? – 2013-02-03 22:41:16

回答

-3

不知道你是否在寻找这个,但是你可以通过在类定义之前提及[NonSerialized]来从序列化中排除你自己的类。 所以,如果你想排除特定的类型,你将不得不从它继承和创建自己的类

[NonSerialized] 
public class Point 
{ 
    public int x, y; 
} 
+2

这段代码不应该编译,因为'NonSerialized'属性的唯一目标是字段。 – tm1 2013-04-15 07:14:18

+1

错误属性'NonSerialized'在此声明类型上无效。它只对'field'声明有效。 – 2014-09-25 04:52:22

1

除了将要在不同的装配,以排除类型,你不能从串行排除类型代。

0

您可以尝试通过将该类标记为internal来更改要从Xml序列化中排除的类的访问权限,则sgen.exe应跳过该类。

internal class NotToBeSerialized 
{ 
    ... 
}