临时访问方法的结果

时间:2019-03-14 16:36:19

标签: c#

我需要CallerMethod()来访问在CalledMethod()中找到的值。 字符串s是其他以前独立执行的方法的执行结果。 CallerMethod()方法不依赖于CalledMethod()的执行。 CallerMethod()和CalledMethod()方法属于两个不同的项目。创建一个静态类来存储此值似乎不正确。您认为最好的方法是什么? 这些项目是Windows窗体。

Public void PreviousMethod()
{
    CalledMethod(a);
}

Public void CalledMethod(string value)
{
    string s = value;
}

Public void CallerMethod()
{
    string getStringSFromCalledMethod = "?";
}

1 个答案:

答案 0 :(得分:1)

不需要进入静态变量。您只需要一个实例属性成员,即可存储先前计算的值

class Class1 {
    public string ValueOfImportance { get; private set; }
    public void CalledMethod(string value) {
        ValueOfImportance = value; // possibly after processing the data from other calls
    }

}

class Class2 {
    public void CallerMethod() {
        Class1 obj; // you need to have the object reference of Class1
        string getStringSFromCalledMethod = obj.ValueOfImportance;
    }
}

生成ValueOfImportance时,需要确保对象引用可用于Class2.CallerMethod()