我有一个非常庞大的类(+1000行),所以我根据功能将它拆分(从开始就应该是这样)。我将通过一个简单的例子展示我在下面所做的事情。
class myOriginal
{
int avariable = new int();
myOriginalDerivedClass _myOriginalDerivedClass;
public myOriginal()
{
_myOriginalDerivedClass = new myOriginalDerivedClass();
}
void mySortofMainFunction()
{
// doing something here
avariable++;
_myOriginalDerivedClass.adifferentFunction(avariable);
// use avariable
}
}
class myOriginalDerivedClass
{
public myOriginalDerivedClass()
{}
public void adifferentFunction(int value)
{
if (someCondition is true)
{
value = 0;
//something
}
else
{
// do something else
}
}
}
我面临的问题是,即使someCondition is true
中的adifferentFunction()
仍然avariable
的值仍未改变。我无法理解。我是否必须使用' ref'关键字,因为我指出现有的内存位置并更改而不是新的内存位置?请帮帮我。我之所以宣称“可变”的原因是什么?函数之外是每次调用函数时我都不想休息它的值。