Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Iserializable可序列化通过webservice发送的只读方法_C# - Fatal编程技术网

C# Iserializable可序列化通过webservice发送的只读方法

C# Iserializable可序列化通过webservice发送的只读方法,c#,C#,我使用只读方法通过Web服务发送对象。 我正在使用Iserializable接口,假设我不再需要无参数构造函数。这不是真的,我仍然无法通过电线发送我的对象 public class Foo: ISerializable { public boolean IsBusy { get; private set;} protected Foo(SerializationInfo info, StreamingContext context) { this.IsBusy = info.GetB

我使用只读方法通过Web服务发送对象。 我正在使用Iserializable接口,假设我不再需要无参数构造函数。这不是真的,我仍然无法通过电线发送我的对象

public class Foo:  ISerializable
{
 public boolean IsBusy { get; private set;}
 protected Foo(SerializationInfo info, StreamingContext context) 
  {
this.IsBusy = info.GetBoolean("IsBusy");
 }
   void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
   {
 .AddValue("IsBusy", this.IsBusy);
  }

不太确定什么是只读方法。但ISerializable仅适用于二进制序列化。web服务使用XML序列化,需要无参数构造函数

您可以使用的一个技巧是对其进行属性化,以便客户端代码永远不能直接使用它:

 [Obsolete("For serialization only", true)]
 public Foo() {}

我应该说是只读属性。很抱歉,我所指的*public boolean IsBusy{get;private set;}*带有public getter和private setter.XML序列化的属性也不允许这样做。如有必要,使用一个“proxy”类,这是一个简单的助手,只复制需要序列化的属性。