【问题标题】:Use C# variable out of method where it is declared [duplicate]在声明它的方法之外使用C#变量[重复]
【发布时间】:2020-09-01 15:18:04
【问题描述】:

我在 C# 脚本方面没有太多经验。所以请多多包涵。作为大学项目的一部分,我正在研究一个给定的统一项目,包括 C# 脚本。在我的工作任务中,我需要使用变量pelvisPos(你可以看到下面的图片链接)。需要在外部方法public void getResults()中使用。但是不可能在第一个声明中引用。你能帮助我并给我一个方法,我如何在我的方法public void getResults() 中使用这个变量?我期待您的反馈!

image

【问题讨论】:

  • 请不要将代码发布为图片。将其包含在问题中,以便每个人都能清楚地阅读,并使人们更容易复制和测试您的代码。也就是说,只需在方法外部(类内部)声明它,该类的两个方法都应该可以访问它

标签: c# unity3d variables methods public


【解决方案1】:

您必须将该变量设置为类属性/字段,或多或少像这样:

public class YourClass
{
  private Vector3 pelivsPos;


  private int findClosestTrackedBody(BackgroundData trackerFrameData)
  {
    ...

     pelivsPos = new Vector3(...); // rest goes the same
 }

 public void getResults()
 {
  Debug.Log("Pelivs:" + pelivsPos); // now you can access that field
  }
}

请记住,您必须先致电findClosestTrackedBody,然后再致电getResults

还有这一行:Debug.Log("Pelivs:" + pelivsPos); 如果Vector3 类实现了public override string ToString() 方法,它只会将该值显示给Debug

【讨论】:

    猜你喜欢
    • 2018-11-10
    • 2012-07-10
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多