如何解决将变量从private void传递到其他private void C#
我正在使用热像仪和提供的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;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。