将变量从 private void 传递到其他 private void C#

Passing variables from private void to other private void C#

我正在使用热像仪和提供的 SDK。但问题是我是 .NET 的真正初学者,因为通常我在 PHP.

中开发

所以我要做的是将变量从一个私有空隙传递到另一个私有空隙。 例如,我试图将变量 ToPass 从 void "OnDetect" 传递到 void OnReferenceRegion.

private void OnDetect(CallbackEventArgument callbackArgument)
    {
       string ToPass = "This string needs to be passed";
    }

这里是 OnReferenceRegion void

    private void OnReferenceRegion(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {
        String completeString = "";
        
        completeString = ToPass;

    }

您可以添加私有 field,它具有 class-wide 作用域,因此可以通过两种方法访问:

class YourClass
{
    private string toPass; // Has class-wide scope

    private void OnDetect(CallbackEventArgument callbackArgument)
    {
       toPass = "This string needs to be passed";
    }

    private void OnReferenceRegion(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {
        string completeString = "";
        
        completeString = toPass;
    }
}

在void-functions:

之间“传递变量”有4种方式
  1. 访问两个函数共享范围内的字段。
  2. 使用委托或局部函数捕获变量。
  3. ByRef 参数(ref、out、in)。
  4. 不安全上下文中的指针。

在你的情况下,你可能想要第一个,即在包含 class 或这两个函数可以访问的任何其他范围内声明一个 field/property。