我怎么知道对象完全像obj1 = obj2一样被改变了?

时间:2016-06-16 07:04:47

标签: c# object variable-assignment

我的语言是C#。

obj1.Value = "test";

如果对象值改变如此,则易于处理。 我可以将事件代码放在Name Property Set中。

但是

Class obj1 = new Class("string1");
obj1  = new Class("string1");

当像这样的赋值更改对象时, 我怎么知道并处理它?<​​/ p>

我想限制名称长度,它受到另一个属性的限制&#34;长度&#34;。

我有3个构造函数。

Class(string value);
Class(int length);
Class(int length, string value);

和2个属性。

.Value
.Length

我像这样做了obj1

Class obj1 = new Class(3, "ab")

我的问题是这个。

obj1 = new Class("abcde")

我想限制值长度3但新类的长度(&#34; abcde&#34;)是5。 (它可以通过编码具有不同的值,但在我的情况下长度为5)

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以在构造函数中检查字符串的长度。如果长度超过限制,则可以抛出新的异常。 在对象启动方面,您可以使用try catch块来检查对象是否正确启动。 例如:

class Class
{
    public Class(string string1)
    {
        if(string1.Length > 10)
            throw new Exception("Length Exceeded than limit");
    }
}

class Program
{
    static void Main()
    {
        Class obj;
        try
        {
           obj = new Class("stri");
        }
        catch
        {
           MessageBox.Show("Error");
        }
    }
}