【发布时间】:2015-11-20 18:12:35
【问题描述】:
如果我像下面的代码那样使我的所有类属性结构成员,我会产生任何问题吗?
private struct Properties
{
public int p1;
public int p2;
}
private Properties P;
public int p1 { get { return P.p1; } set { P.p1 = value; } }
public int p2 { get { return P.p2; } set { P.p2 = value; } }
多年来,我在 VB 中做过类似的事情,但速度并不重要。现在我刚刚开始在速度很重要的实时项目中使用 C#。感谢您的任何反馈!
【问题讨论】:
-
即使在 VB 中,额外层的假定优势是什么?
-
"Will I create any problems"- 嗯,它使代码更加复杂,没有明显的原因。复杂的事情比简单的事情更容易失败。 -
您的建议本质上是使用速记时发生的情况。你只是看不到实例变量(因为你真的不需要。)我知道这样做的唯一原因是你必须在获取/设置期间进行某种计算,或者你需要进行某种范围验证。
-
Inner-platform 想不到这个词更早
-
您可能设法击败编译器对属性访问的正常内联:Field vs Property. Optimisation of performance,尽管编译器人员已经包含了许多巧妙的优化。你的测试结果如何?
标签: c#