-1

我有以下课程:

public class Class1
{
    private int pam1;

    public Class1()
    {

    }

    public void ChangePam1(int _NewValue)
    {
        UpdatePam1(_NewValue);
        pam1 = _NewValue;
    }

    public int Pam1
    {
        set { this.pam1 = value; }
        get { return this.pam1; }
    }
}

目前,当我想更改 的值时Pam1,我执行以下操作:

int n = 500;
Class1 c1 = new Class1();
c1.ChangePam1(n);

我怎样才能改变它使用Set

4

5 回答 5

9

你可以这样做(它会调用set):

public class Class1
{
    private int pam1;

    public Class1(){}

    private void ChancePam1(int newValue)
    {
        UpdatePam1(newValue);
        pam1 = newValue;
    }

    public int Pam1
    {
        set { ChancePam1(value); }
        get { return this.pam1; }
    }
}

然后:

int n = 500;
Class1 c1 = new Class1();
c1.Pam1 = n;

也有看看这个

于 2013-04-05T08:38:13.933 回答
6

只需设置c1对象的Pam1属性。

c1.Pam1 = n;

或者你可以使用;

public int Pam1
{
    set { ChancePam1(value); }
    get { return this.pam1; }
}
于 2013-04-05T08:39:18.513 回答
3

如果您想让它做其他事情,请在您的代码中定义它

public int Pam1
{
    set { 
         this.pam1 = value; 
         UpdatePam1(value);
         }
    get { return this.pam1; }
}

setter几乎可以像正常方法一样工作。

如有疑问,请考虑有关该主题的MSDN 。

于 2013-04-05T08:40:46.763 回答
2

以下列方式改变你的班级可能是一个好主意:

public class Class1
{
    private int pam1;

    public Class1()
    {

    }

    public int Pam1
    {
        set { UpdatePam1(_NewValue);this.pam1 = value; }
        get { return this.pam1; }
    }
}

...并与您的财产合作:

int n = 500;
Class1 c1 = new Class1();
c1.pam1=n;
于 2013-04-05T08:41:56.593 回答
2

你只需要在你的集合中调用 UpdatePam1(value)

public int Pam1
{
    set { UpdatePam1(value);
          pam1 = value; 
        }
    get { return this.pam1; }
}

或者

 public int Pam1
{
    set { ChangePam1(value); }
    get { return this.pam1; }
}
于 2013-04-05T08:42:38.810 回答