问题描述
我正在使用热像仪和提供的SDK。但是问题在于我是.NET的真正初学者,因为通常我是用PHP开发的。
所以我想做的是将变量从一个私有的void传递到另一个私有的void。 例如,我试图将变量ToPass从无效的“ OnDetect” 传递到无效的 OnReferenceRegion 。
private void OnDetect(CallbackEventArgument callbackArgument)
{
string ToPass = "This string needs to be passed";
}
这是OnReferenceRegion无效
private void OnReferenceRegion(object sender,System.Windows.Input.MouseButtonEventArgs e)
{
String completeString = "";
completeString = ToPass;
}
解决方法
有四种方法可以在void函数之间“传递变量”:
- 访问两个函数共享范围内的字段。
- 使用委托或局部函数捕获变量。
- ByRef参数(ref,out,in)。
- 在不安全上下文中的指针。
在您的情况下,您可能需要第一个,即在包含类或这两个函数可以访问的任何其他范围内声明一个字段/属性。
,您可以添加一个私有的field,它具有类范围的范围,因此可以通过两种方法进行访问:
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;
}
}