将C#属性映射到数据成员的属性

时间:2012-09-10 22:35:27

标签: c# properties syntactic-sugar

假设我有以下结构:

public class Inner
{
    public double Foo { get; set; }
}

public class Outer
{
    public double Bar { get; set; }

    private Inner MyInner;
}

我希望Outer自动转发BarMyInner.Foo。有没有语法快捷方式?我宁愿不打字

public double Bar
{
    get
    {
        return MyInner.Foo;
    }
    set
    {
        MyInner.Foo = value;
    }
}

一直以来。我公司的代码风格指南需要所有大括号的换行符,而我的班级有几个这样的成员。

2 个答案:

答案 0 :(得分:1)

这就是你如何做到这一点,并没有任何语法糖来缩短它。就编码惯例而言,我会推迟;像“所有代码块括号必须有换行符”这样的非常广泛的规则只是等待一些非常简单的事情,就像这种情况变成空白混乱一样。但是,如果你不能说服他们做例外,那么老实说不值得让自己被解雇;无论如何,ReSharper和其他重构助手会让你的属性看起来像这样。

答案 1 :(得分:1)

无法使用自动属性执行此操作。但是使用代码片段,您应该能够快速编写代码。如果你习惯于像我一样折叠代码(Ctrl + M + O),它看起来也不会太糟糕。