我有一个简单的问题.我设计了一个C#类,我有一些属性getter负责执行一些性能昂贵的任务.我班上有很多这样的房产.我的问题是,只要将类的实例加载到内存中,就会评估那些属性getter吗?如果是这样,那么,我会考虑将它们分解为方法.我希望他们只在第一次使用该属性时进行评估,但我需要确定这个假设.
我知道我应该使用方法来处理昂贵的任务,但我发现使用Properties更易于维护,因为我在一个类中有很多成员.
谢谢.
属性getter/setter将针对它们的每次调用进行评估.它们只不过是方法的句法.
public class Foo
{
private int actual = 0;
public int Bar
{
get { return actual++; }
set { value = actual; value++ }
}
}
int v = foo.Bar; //0
v = foo.Bar; // 1
v = foo.Bar; // 2
foo.Bar = v; // actual = 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
653 次 |
| 最近记录: |