【问题标题】:C# Pointers and PropertiesC# 指针和属性
【发布时间】:2014-04-07 08:59:40
【问题描述】:

我正在制作一个 Windows 窗体应用程序,并且我正在尝试改进我的代码,所以我需要一些建议/帮助。

我有一个数据列表,可以说是我从数据库中添加数据的第一个表单。然后,我从该列表中传递一个人的详细信息,而不是整个列表。我的问题是我认为我没有正确传递数据,我想正确地做。

我在做什么的例子(accountholders 是 object 类型的?): 表格2 =我想将数据传递到这个表格中:

private AccountHolders person;

public void SetThePersonsValue(AccountHolders inputAccountHolder)
{
    person = inputAccountHolder;
}

表格 1 = 我正在从此表格中获取数据,我想稍后更新此表格中的列表:

WithdrawNoReceipt withdrawNoReceipt = new WithdrawNoReceipt();
withdrawNoReceipt.SetThePersonsValue(person);
withdrawNoReceipt.ShowDialog();

所以我想使用 get/set 属性 (?) 来执行此操作,但我不知道如何执行此操作.. 理想情况下,我希望我传递的人是一个指针,以便最初的列表得到已更新,因此我可以将数据写回数据库,而无需将数据传回第一个表单。

如果您需要更多信息,请告诉我!提前致谢。

【问题讨论】:

    标签: c# winforms get set


    【解决方案1】:

    您指的是财产吗?因为那你需要添加以下代码

    private AccountHolders person;
    
    public AccountHolders Person
    {
     get{return person;}
     set{person = value;}
    }
    

    该属性指向私有成员 person。理想情况下,您在属性中添加一个 PropertyChanged 事件,以便您的表单知道某些内容已更新?

    编辑:

    用于填充属性值,值为 AccountHolders 类型

    public void SetThePersonsValue(AccountHolders inputAccountHolder)
    {
        //Set the value
        Person = inputAccountHolder;
    }
    
    WithdrawNoReceipt withdrawNoReceipt = new WithdrawNoReceipt();
    //get the value
    WithdrawNoReceipt.SetThePersonsValue(Person);
    WithdrawNoReceipt.ShowDialog();
    

    在调试过程中,您现在会在更新 Person 对象时看到您的 Person 对象发生变化

    【讨论】:

    • 感谢您的回复,如何将值传递到属性中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 2012-01-11
    • 2021-01-07
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    相关资源
    最近更新 更多