Класс с х количество дополнительных объектов - PullRequest
2 голосов
/ 11 апреля 2019

Допустим, у меня есть класс Person с конструктором

public class Person
{
     public string Name { get; set;}
     public string Height { get; set; }
     public string WhatEverElse { get; set; }

     public string Person(string Name, string Height, string WhatEverElse)
     {
          this.Name = Name;
          .......
     }
}

Теперь предположим, что я хочу также включить всех домашних животных, которые может иметь человек.

List<Person> persons = new List<Person>();

persons.Add(new Person("Larry", "5'9", "Whatever"));

foreach(Datarow row in OwnedPets)
{
     //push the pet info to the person here
}

Можно ли как-нибудь добавить к Персональному объекту количество домашних животных и информацию о них? Таким образом, я могу вернуть Ларри со всеми 2 его питомцами или Джерри со всеми 6 его питомцами? Или я могу объединить два класса и вернуть список с обоими?

Ответы [ 2 ]

4 голосов
/ 11 апреля 2019

Как насчет списка?


public class Person
{
     public string Name { get; set;}
     public string Height { get; set; }
     public string WhatEverElse { get; set; }
     public List<Pet> Pets { get; set; }
     public string Person(string Name, string Height, string WhatEverElse)
     {
          Pets = new List<Pet>();
     }
}

public class Pet
{
     public string Name { get; set; }
}

Затем можно добавить любое количество домашних животных, назначив новых домашних животных

// For your own sake keep a clear naming convention - just my two bucks
List<Person> persons = new List<Person>();
Person person = new Person("Larry", "5'9", "Whatever");
persons.Add(person);

foreach(Datarow row in OwnedPets)
{
     Pet newPet = new Pet();
     person.Pets.Add(newPet);
}
3 голосов
/ 11 апреля 2019

Добавить список домашних животных в ваше лицо

public class Person
{
     public string Name { get; set;}
     public string Height { get; set; }
     public string WhatEverElse { get; set; }
     public List<string> Perts = new List<strings>();

     public string Person(string Name, string Height, string WhatEverElse)
     {
          this.Name = Name;
          .......
     }
}

теперь вы можете добавлять столько домашних животных, сколько хотите

Person per = new Person("Larry", "5'9", "Whatever");
per.Pets.Add("Tom");
per.Pets.Add("Jerry");
person.Add(per);

PS ваш список типа Person не должен называться"человек" это очень запутанно.Назовите это "люди" или что-то в этом роде

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...