Кодировка данных и запись их в память - C#
Формулировка задачи:
в общем есть несколько классов, интерфейс (грубо говоря)
мне нужно записать данные в массив байтов потом его закодировать и закинуть в память
реализации все есть!!!
но в мейне что то идет не так, прошу помощи что бы разобраться в ошибке (сама ошибка Stackowerflow)
public interface ICommand
{
byte[] ToByteArray();
}
[Serializable]
public class BaseCommand : ICommand
{
public byte[] ToByteArray()
{
using (MemoryStream str = new MemoryStream())
{
BinaryFormatter formater = new BinaryFormatter();
formater.Serialize(str, ToByteArray());
return str.ToArray();
}
}
}
[Serializable]
public class MassegCommand : BaseCommand
{
public string Name { get; set; }
public string Messeg { get; set; }
}
static void Main(string[] args)
{
//------------------------------
BaseCommand serial = new BaseCommand();
MassegCommand command = new MassegCommand();
command.Name = "Ben";command.Messeg = "By-By-By";
byte[] mas = new byte[1024];
mas = Encoding.UTF8.GetBytes(command.Name + " " + command.Messeg);
using (MemoryStream str = new MemoryStream())
{
str.Write(mas, 0, mas.Length);
//Console.WriteLine(str.Length.ToString());
//serial.ToByteArray();// тут ошибка!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
}
}Решение задачи: «Кодировка данных и запись их в память»
textual
Листинг программы
byte[] mas = new byte[1024];
byte[] mas2 = new byte[1024];
using (MemoryStream str = new MemoryStream())
{
str.Write(mas, 0, mas.Length);
mas2 = mas;
mas2 = mas.ParseCommand(mas);
}
Console.WriteLine(Encoding.UTF8.GetString(mas2));