All   the   public   and   private   fields   in   a   type   ed   by   the   SerializableAttribute   are   serialized   by   default问题在于TestClassSerializers酶标记为可序列化。

解决方案 »

  1.   

    SerializeBinaryTest()方法是在CoreTest.TestClassSerializers里的吗?这样看来事件也是会序列化的,要阻止它需要在
    public event UserStateChangedEventHandler UserStateChanged;前面加上[NonSerialized]。
      

  2.   

    问题不在于事件上面,在你的TestClassSerializers上,对其也加上“Serialized”
      

  3.   

    回复楼上的,
    1、[NonSerialized]不能加在事件上面。
    2、我不想序列化TestClassSerializers,也不想序列化这个事件。
      

  4.   

    CoreTest.TestClassSerializers 没有这个类啊?是不是你有另一个测试程序?
      

  5.   

    ...........随便放在哪个类里都是一样的错误的。
    public void SerializeBinaryTest()
    不过是vs生成的一段测试代码而已。
      

  6.   

    看来.Net强制要求事件必须要序列化。
    没猜错的话CoreTest.TestClassSerializers是你的测试类吧。
    因为你在事件里添加了CoreTest.TestClassSerializers的方法,因此需要把TestClassSerializers的对象也序列化。
    试一下把request_UserStateChanged改为static的,还不行的话就只能把TestClassSerializers前加上[Serializable]了。