在其他类中编写类的对象时如何进行验证?

时间:2010-04-19 06:40:48

标签: c# oop

我有一个IPAddress类,它有一个名为ip的属性,并且在其setter中我正在验证数据来源,如果数据无效,则会抛出错误。 (其代码如下):

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");
  }
}

在User Class中我想组成一个IPAddress类的对象。

我正在对User类的User属性进行验证,并对IPAddress类中的Ip进行验证。

我的问题是如何在UserClass中编写IPAddress对象以及它的语法是什么?

如果我再次提到get并在此处设置UserAddress中的IPAddress对象,我之前提到过(在IPAddress类中)getter和setter是否有效?

2 个答案:

答案 0 :(得分:1)

  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. 使用正则表达式进行IPAddress验证

答案 1 :(得分:1)

这里IPAddress.TryParse不会有帮助吗?