1

假设我有以下结构:

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;
    }
}

每时每刻。我公司的代码风格指南要求所有大括号都换行,我的班级有几个这样的成员。

4

2 回答 2

1

这几乎就是你的做法,并且没有任何语法糖可以缩短它。至于编码约定,我会反击;诸如“所有代码块大括号必须有换行符”之类的非常广泛的规则只是在等待像这种情况这样非常简单的事情变成空白混乱。但是,如果你不能说服他们做出例外,那真的不值得让自己被解雇。ReSharper 和其他重构助手会让你的属性看起来像这样。

于 2012-09-10T22:39:48.863 回答
1

不,没有办法用自动属性来做到这一点。但是使用代码片段,您应该能够相当快地编写该代码。如果你像我一样养成了折叠代码(Ctrl + M + O)的习惯,它看起来也不会太糟糕。

于 2012-09-10T22:41:21.797 回答