对于狂热的C#开发人员来说,这应该是一个非常简单的解决方案。我期望在一个类中改变一个字符串的值,所以在一个线程中,字符串可以在没有我做任何事情的情况下改变。这是我的意思,简化的一个小例子,但你应该明白。如何保存对另一个类中的对象的引用?
class A_CLass
{
string keptString;
void keepString(ref string theString)
{
keptString = theString;
}
// This will get called when the thread is triggered
void changeString(string theString)
{
keptString = theString;
}
}
void f1()
{
A_Class a = new A_Class();
string base_string = "asdf";
a.keepString(ref base_string);
...
// Thread is signaled
...
// Now base_string should be "fdsa"
}
void threadedFunction()
{
// When the thread is triggered ...
a.changeString("fdsa");
}
基本上我想保持“base_string”的参考在A_Class,因此螺纹的方法可以改变值,并且f1()中,我可以看到改变的值,在这种情况下“FDSA”。
谢谢!
如果我得到你想要的东西,你想存储到'base_string'的引用,以便在'threadedFunction改变它() '在'f1()'中改变它? –
是的,这是我想要的,但不仅仅是为了字符串,我还想节省一节课。 (字符串只是一个简单的例子) – Tizz
然后看看我的答案。您需要编写一个小包装类来环绕要跟踪的对象。 –