Afaik, вы не можете напрямую (де) сериализовать в List<T>
.
Вам скорее понадобится класс-оболочка, например
[Serializable]
[XmlRoot]
public class Root
{
[XmlArray]
public List<Clase_comando> Comandos;
}
и
using (NetworkStream stream = connectedTcpClient.GetStream())
{
int length;
XmlSerializer xmls = new XmlSerializer(typeof(Root));
while ((stream.CanRead && (length = stream.Read(bytes, 0, bytes.Length)) != 0))
{
var b = new byte[10000];
List<Clase_comando> com = ((Root)xmls.Deserialize(stream)).Comandos;
}
}
А с другой стороны соответственно
[Serializable]
[XmlRoot]
public class Root
{
[XmlArray]
public List<Clase_A> Comandos;
}
и
XmlSerializer xmls = new XmlSerializer(typeof(Root));
if (stream.CanWrite)
{
var root = new Root(){ Comandos = MyList };
byte[] b = new byte[10000];
using(var st = new MemoryStream(b))
{
xmls.Serialize(st, root);
stream.Write(b, 0, b.Length);
}
}
Набрано на смартфоне, но надеюсь, что идея прояснится