Pregunta

Tengo una secuencia entrante de bytes (char sin firmar) desde un archivo o red. Necesito que estos datos se coloquen en una clase y estoy buscando una forma NET de hacerlo.

Apuesto a que algunos hacen esto todo el tiempo, así que creo que hay un mejor método para hacerlo que usar BitConverter.

Me doy cuenta de que proporcioné muy poca información. Déjame probar con una clase de ejemplo:

class data { 
void doSmething(); 
int var1; 
float var2; 
} 

Entonces quiero transferir los datos (var1 y var2) contenidos en esta clase sobre f.ex. una toma de red y recibir los datos en el otro extremo

¿Fue útil?

Solución

Como Jon mencionó, no está claro qué necesitas. Tal vez estás hablando, tal vez es serialización binaria ¿Qué estás buscando?

Otros consejos

No está del todo claro a qué se refiere, pero si básicamente está buscando una forma de almacenar los datos en un búfer para poder acceder a ellos más tarde, MemoryStream es probablemente su mejor opción. Escriba todos sus datos en él, luego configure Posición a 0 y puede volver a leer los datos.

Tiene 2 opciones o la serialización binaria (como dijo PiRX) o la serialización XML, para el rendimiento, mejor es binario, pero prefiero la serialización xml por su capacidad de lectura:

 [Serializable]
    [XmlRoot("CONFIGURATION")]
    public class Configuration
    {
        EnterpriseCollection enterprises;
        public Configuration()
        {

            enterprises= new EnterpriseCollection();
        }
        [XmlElement("ENTERPRISE")]
        public EnterpriseCollection Enterprises
        {
            get
            {
                return this.enterprises;
            }
            set
            {
                this.enterprises = value;
            }
        }
        private string name;
        [XmlElement("NAME")]
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }

puedes usar la clase std :: string. Uno de sus constructores toma char * como argumento para que pueda ir directamente de char * a string. y string es una excelente manera de almacenar sus cadenas de caracteres. vaya a http://www.cppreference.com/ para obtener más información sobre cadenas

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top