Bom dia. Estou enfrentando um problema ao criar uma lista de objetos que possuem uma composição de classe. vamos ao problema:
Quando crio uma classe com uma composição, ao instanciar meu objeto eu tenho que instanciar ele nas duas classes, como exemplo:
Printer printer2 = new Printer();
printer2.ZplParam = new Parametros();
printer2.ZplParam.Ip = IPAddress.Parse(textBox2.Text);
printer2.ZplParam.Porta = Convert.ToInt32(textBox1.Text);
printer2.ZplParam.Bitola = textBox3.Text;
A minha Variável "ZplParam" Recebe as informações de uma outra classe chamada "Parametros" por isso tenho que apontar meu objeto "Printer2" a minha classe Parametros, e irá funcionar perfeitamente.
Porém, estou tentando fazer uma lista de objetos que possuem a mesma regra, da seguinte forma:
List<Printer> impressoras = new List<Printer>();
impressoras.Add(new Printer()
{
Ip = "192.168.10.20",
Porta = 1000,
});
impressoras.Add(new Printer()
{
Ip = "192.168.10.21",
Porta = 1000,
});
impressoras.Add(new Printer()
{
Ip = "192.168.10.22",
Porta = 1000,
});
Porém as minhas variaveis "IP" e "Porta" estão dando erro porque elas não estao presentes na Classe "Printer" e sim na classe "Parametros". como eu aplico o mesmo conceito de apontar um objeto para outra classe em uma lista ? Abaixo segue as minhas classes:
public class Printer {
private string Zpl { get; set; }
public Parametros ZplParam;
______________________________________________________________________________________________
public class Parametros
{
public string Head { get; set; }
public string Body { get; set; }
public string comp { get; set; } //complemento
public string comp2 { get; set; } //complemento
public string comp3 { get; set; } //complemento
public string Bitola { get; set; } //Formato 38 X 200 X 2600MM
public string DataMatrix { get; set; } //Formato: i1234567890abcf
public string ClasseResist { get; set; } //Formato: A12
public string NPedido { get; set; } // Formato: 1234
public string NProducao { get; set; } //Formato: 23010001
public string Footer { get; set; }
public DateTime DateTime { get; set; } //dd/mm/aaaa HH:MM:SS
public string LinkGradeador { get; set; }
public string LinkClassificador { get; set; }
public string LinkFingerJoint { get; set; }
public IPAddress Ip { get; set; }
public int Porta { get; set; }
}
}