通过方法设置字段和按属性设置字段之间是否存在性能差异?

时间:2012-03-08 10:58:14

标签: c# .net properties clr

  

可能重复:
  Actual Performance of Fields vs. Properties

通过方法设置字段和通过属性设置字段之间是否存在已知的性能差异?

(我只是想知道实现一个属性是否会向IL发出一些额外的东西,这使得PROPERTY工作比直接调用一个设置值的方法更慢)

1 个答案:

答案 0 :(得分:2)

属性方法。如果使用get / set声明名为MyProperty的属性,则编译器将发出两个方法:get_MyPropertyset_MyProperty,将它们装饰为其他人(将使用该属性的人)可以理解该方法是属性的getter / setter。例如,托管C ++的第一个版本没有隐藏这个技巧。看一下方法和属性设置器的反编译版本(例如),你会发现它们没有什么不同,你在代码中看到的就是糖,使它们“很好”。