Как сделать проверки при составлении объекта класса в другом классе? - PullRequest
2 голосов
/ 19 апреля 2010

У меня есть класс IPAddress, который имеет одно свойство с именем ip, и в его установщике я проверяю поступающие данные, и если данные недействительны, он выдает ошибку. (Его код следующий):

private string ip;

public string IP
{
  get { return ip; }
  set { string PartsOfIP = value.Split('.');

  if (PartsOfIP.Length == 4)
  {
    foreach (string part in PartsOfIP)
     { int a = 0; bool result = int.TryParse(part, out a);

        if (result != true)
        {
          throw new Exception("Invalid IP");

        }
        else { ip = value; }
      }

  }
  else { throw new Exception("Invalid IP");
  }
}

В пользовательском классе я хочу создать объект класса IPAddress.

Я делаю проверки свойств пользователя в классе User и проверки Ip в классе IPAddress.

У меня вопрос, как я буду составлять объект IPAddress в UserClass и какой будет синтаксис для этого?

Если я снова упомяну get и set здесь с объектом IPAddress в классе User, будут ли работать мои ранее упомянутые (в классе IPAddress) методы получения и установки?

Ответы [ 2 ]

1 голос
/ 19 апреля 2010

Не поможет ли IPAddress.TryParse здесь?

1 голос
/ 19 апреля 2010
  1. Создать конструктор для UserClass следующим образом:

    public IPAddress userIpAddress;
    // Other fields and properties
    
    public UserCLass(IPAddress ipAddress, .... other fields)
    {
        userIpAddress = ipAddress; // here validation for IPAddress will be called
    }
    
  2. Использование регулярных выражений для проверки IP-адреса

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