c# - C# 属性的评估时间

标签 c# properties

class Bar
{
  private byte[] dg;

  Bar(byte[] datagram)
  {
    dg = datagram;
  }

  int Foo
  {
    get { return BitConverter.ToInt16(dg, 8); }
  }
}

何时评估属性?在访问 Foo 时?评估所有属性的调试器让我感到害怕。

最佳答案

是的,属性只是调用 get 访问器方法的语法糖。每次读取属性时,都会执行该方法。是的,这确实包括调试器(这就是为什么如果您的属性 getter 有副作用,调试实际上会影响您的程序的工作方式)。

关于c# - C# 属性的评估时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1180621/

相关文章:

c# - 如何动态评估 C# 代码?

javascript - 属性值改变后是否起作用?

c++ - 我正在尝试通过 Boost 图形库从 Graphviz DOT 文件中读取图形。如何读取存储在数组中的未知数量的属性?

c# - 在启用桌面组合时隐藏表单时更新表单

c# - 如何将不同的类库编译成一个 dll?

c# - 如何在表达式树 C# 中使用隐式转换?

spring - Spring 属性文件中的转义属性引用

java - 无法读取 Java Web 应用程序中的属性文件?

c# - 找不到类型或命名空间名称 'System'

c# - 在 Silverlight 中使用 C# 以编程方式绘制