我后面有一个代码,在同一个名称空间中有两个类。我想引用命名空间中第二个类中的第一个类公共变量。我知道我显然可以传递变量,但我想知道是否有方法引用它们。
namespace CADE.results
{
public partial class benchmark : BasePage
{
public string numAnswers = ""; <-- like to reference this from GetScore()
protected void Page_Load(object sender, EventArgs e)
{
BenchmarkAdd bma = new BenchmarkAdd();
bma.GetScore();
}
}
public class BenchmarkAdd
{
public BenchmarkAdd()
{
}
public void GetScore()
{
benchmark.numAnswers++; <-- would like to reference public var here
}
}
}
我以为只有Benchmark.Numanswers可以工作,但它不行。是否可以从BenchmarkAdd类引用numAnswers?
我想引用命名空间中第二个类中的第一个类公共变量。
numanswers
是一个实例变量,因此getScore()
不知道要更新哪个实例。
完成此操作的唯一方法(不传递page
实例,或使用ref
传递numanswers
)是使numanswers
静态
:
public static string numAnswers = "";
然后可以在getScore()
中更新:
public void GetScore()
{
CADE.results.benchmark.numAnswers++;
}
但是,将此设置为静态
的效果是,每个基准
实例不再具有自己的numanswers
字段;只有一个属于类型本身的字段副本。