在我的C#控制台应用程序中,我启动一个新任务并调用一个函数,该函数要求我能够访问主线程中定义的变量,例如:
class Example
{
static int ExampleVarForQuestion = 1;
int Main()
{
new Task(WhereProblemOccures.ExampleFunction).Start();
}
}
class WhereProblemOccures
{
static int ExampleFunction()
{
if(Example.ExampleVarForQuestion == 1)
return 1;
else
return 0;
}
}
问题是无法在ExampleVarForQuestion
中达到上述变量值ExampleVarForQuestion()
。我对C#很陌生,所以如果这个问题没有措辞,那就非常抱歉。
答案 0 :(得分:2)
要达到它,它必须是公共的,因为你的方法是在另一个类中定义的。
请注意,如果该成员将由另一个线程编写,则应添加某种形式的同步以保证线程安全。