参数未在两个类之间正确传递

时间:2016-10-26 06:24:35

标签: c# parameters

我有一个非常庞大的类(+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'关键字,因为我指出现有的内存位置并更改而不是新的内存位置?请帮帮我。我之所以宣称“可变”的原因是什么?函数之外是每次调用函数时我都不想休息它的值。

0 个答案:

没有答案