C#从不同的对象分配一个变量

标签 c#

我不太确定如何用 C# 术语提出我的问题,所以请耐心等待冗长的解释。

我正在编写一个股票交易算法。当算法启动时,它会检查它适用于哪种工具(在本例中为股票或 future ),然后根据工具为“double x”分配一个值。

如果它是 future 工具,那么赋值是一个简单的固定值(在这种情况下,“double x = 5;”)。但是,如果它是股票,我希望将“x”分配给来自另一个对象的值 - 让我们调用对象“Algo2”和值“y”。因此,在我的脚本中,赋值如下:“double x = Algo2.y”(注意:这是我在编辑器中的约定using)。此代码块仅在算法开始时运行一次。

我在这里试图实现的是告诉我的算法在“EntryValue = Price + x”等公式中使用“x”时获取“Algo2.y”的最新值。然而,发生的事情是“x”在程序开始时被永久分配为“Algo2.y”的值,并且由于该 block 永远不会再次运行,因此始终保持该恒定值。

任何人都可以帮助语法,而不是为“x”赋值,它只是指向获取“Algo2.y”的最新值,无论它被调用吗?

谢谢!

最佳答案

将“x”设为一个属性,以便它在您每次请求 x 时获取值。

class StockInstrument
{
  public double Value //x isn't a good name, I'll use "Value"
  {
    get
    {
      if(...) return 5.0;
      else return Algo2.y;
    }
  }
}

关于C#从不同的对象分配一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218446/

相关文章:

c# - 使用通过 .NET Core 和 Xamarin 从 IL 编译的程序集

c# - .NET Core 中 Microsoft Fakes 的任何替代方案?

c# - 为什么我不能在我的应用程序中引用 Bing map ?

c# - StreamReader 参数NullException

c# - 在我的 WCF 服务启动时执行某些操作

c# - 在 Razor View 中遍历列表

c# - 在 C# 中是否有更简单的方法为函数指定别名

c# - 为什么每个人都使用带有 ASP.Net Core 的 ILogger 的记录器包?

c# - 如何使用 C# 检测 WPF 中 UI 线程何时启动和停止处理?

c# - 如何使用 Winappdriver 访问 GridView 单元格?