C# 如何从A类到B类访问设置值

C# 如何从A类到B类访问设置值,c#,winforms,C#,Winforms,我有a班和B班 A类有: public int ID { get; set; } 当运行程序时,一个值被分配给ID ex:123,当窗体关闭并设置默认值(即=0)时,该值被销毁 问题:在B类中的值被销毁之前,我如何保存它? 这样我就可以访问B类中的值并执行验证。让我假设A类和B类是赢的形式,您从B打开A。以A的形式编写,方法如下: public int GetInput(){ Show(); return ID; } 同样在A的构造函数中,写下以下行 pu

我有a班和B班

A类有:

public int ID
{
    get;    
    set;
}
当运行程序时,一个值被分配给ID ex:123,当窗体关闭并设置默认值(即=0)时,该值被销毁

问题:在B类中的值被销毁之前,我如何保存它?
这样我就可以访问B类中的值并执行验证。

让我假设
A类
B类
是赢的形式,您从
B
打开
A
。以
A
的形式编写,方法如下:

public int GetInput(){
   Show();
   return ID;
}
同样在
A
的构造函数中,写下以下行

public A()
{
    Visible=false;
}
在表格
B
中编写以下内容以打开表格
A

public void OpenA()
{
    var a=new A();
    var i=a.GetInput();
}

现在
i
包含
ID

的值,我相信可观察的模式可以帮助您。使用下一个链:主线程(如果winforms为窗体)在关闭前将事件发送给A,在销毁前将事件发送给B。您可以使用OnClosed事件

基本上,B类学生可以做如下工作:

form.OnClosed += (sender, e) => {
    var id = form.ID;
    //Do something with the ID
}

希望有帮助。

这个问题有点含糊不清。您是在问如何将一个对象的属性设置为另一个对象的属性值,还是如何跨窗体生命周期保存数据?您的问题相当模糊。你能再提供一点代码来说明你的意思吗?写得很糟糕,很可能他/她是在他/她的第一个作业中:)看看他的其他问题。。。