Pergunta

I têm um fluxo de entrada de bytes (unsigned char) a partir de um arquivo ou de rede. Eu preciso esses dados colocado em uma classe, e está à procura de um NET-maneira de fazer isso.

Eu aposto que alguns faz isso o tempo todo, então eu acho que há um método melhor de fazer isso do que usando BitConverter.

Eu percebo que forneceu informações muito pouco desatualizada. Deixe-me tentar com uma classe de exemplo:

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

Então eu quero transferir os dados (Q1 e Var2) contidos nesta classe sobre f.ex. uma tomada de rede e receber os dados na outra extremidade

Foi útil?

Solução

Como Jon mencionado, não está claro, o que você precisa. Talvez você está falando talvez seja Binário serialização o que você está procurando?

Outras dicas

Não é inteiramente claro o que você quer dizer, mas se você está procurando basicamente uma maneira de amortecer os dados para que você possa chegar a ele mais tarde, MemoryStream é provavelmente a sua melhor aposta. Escreve todos os seus dados a ele, em seguida, definir Posição 0 e você pode ler os dados de volta novamente.

Você tem 2 opções ou Binário serialização (como disse Pirx) ou XML serialização, para o desempenho, o melhor é binário, mas eu prefiro xml serialização por sua legibilidade:

 [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;
            }
        }

Você pode usar a classe std :: string. Um de seus construtores leva * caractere como um argumento para que você possa ir direto do char * para string. e string é uma ótima maneira de armazenar suas cadeias de caracteres. ir para a http://www.cppreference.com/ para obter mais informações sobre cerca de cordas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top