gpt4 book ai didi

C# 从另一个类中设置并从另一个类中获取

转载 作者:行者123 更新时间:2023-11-30 20:30:26 25 4
gpt4 key购买 nike

这是 A 类

Class A
{
public string uname { get; set; }
public string fname { get; set; }
}

我按 B 类设置值

Class B
{
private void Main(){

A aGetSet = new A();

aGetSet.uname = "James";
aGetSet.fname = "Blunt";
}

}

但是当我在 C 类中获取值时,它总是返回 null

Class C
{
private void Main() {

A aGetSet = new A();

string username = aGetSet.uname;
string fistname = aGetSet.fname;
}
}

有人解决这个问题吗?

最佳答案

B中声明的aGetSetA的一个对象。 C中声明的aGetSetA的另一个对象。它们彼此完全独立。更改其中一个对象的值不会影响另一个对象的值。

要解决此问题,您需要在 BC 中访问相同的实例。

有很多方法可以做到这一点。我将向您展示如何使用单例模式。

class A
{

public string uname { get; set; }
public string fname { get; set; }
private A() {} // mark this private so that no other instances of A can be created
public static readonly A Instance = new A();

}

class B
{

public void Main(){
// here we are setting A.Instance, which is the only instance there is
A.Instance.uname = "James";
A.Instance.fname = "Blunt";

}

}

class C
{

public void Main() {
B b = new B();
b.Main();
string username = A.Instance.uname;
string fistname = A.Instance.fname;
}

}

现在您只需调用 C.Main 即可完成这项工作!

关于C# 从另一个类中设置并从另一个类中获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44734112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com