我不是在寻找一种使用“SetData”方法将值与线程相关联的方法。
我需要存储仅在调用方法范围内存在的某种数据,可以是直接父级或在堆栈上进行的任何其他调用。例如:
void SomeMethod()
{
string someInfo = "someInfo";
SomeOtherMethod();
object data = GetDataOnCurrentScope("someKey");
}
void SomeOtherMethod()
{
SetDataOnParentScope("someKey", somevalue);
}
在这种情况下,“someInfo”局部变量和带有“someKey”键的数据集都将在“SomeMethod”返回后消失。这样的事情可能吗?这可能违反堆栈规则,但谁知道是否有人有想法......
obs:目前,我想唯一的方法是让编译器在每个方法的调用堆栈的开头声明对字典的引用。当方法返回时,该字典将有资格进行垃圾收集。