我有一个我想要构建的类,通过从网络流反序列化它.
public Anfrage(byte[] dis)
{
XmlSerializer deser = new XmlSerializer(typeof(Anfrage));
Stream str = new MemoryStream();
str.Write(dis, 0, dis.Length);
this = (Anfrage)deser.Deserialize(str);
}
Run Code Online (Sandbox Code Playgroud)
目的是我只想传递byte []并拥有一个合适的对象,而不是使用另一个类中的方法.
现在,我知道我显然不能这样做=.我已经阅读了这个问题,目前正在阅读其中提到的文章,但我不确定我是否正确理解它.
我的意图是否足够明确?
有没有办法做我想做的事情?
谢谢你们.
Cod*_*ter 12
您不能通过分配来覆盖类本身内的对象this.
例如,您可以创建一个返回新实例的方法:
public static Anfrage Create(byte[] dis)
{
XmlSerializer deser = new XmlSerializer(typeof(Anfrage));
Stream str = new MemoryStream();
str.Write(dis, 0, dis.Length);
return (Anfrage)deser.Deserialize(str);
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样实例化一个:
var anfrage = Anfrage.Create(bytes);
Run Code Online (Sandbox Code Playgroud)