快速将财产实施转发给会员财产的方法

时间:2016-06-08 16:39:27

标签: c# properties

我花了一天时间编写锅炉代码,我需要找到一种更快捷的方法。 并非所有的Interface实现都是微不足道的,但有一种情况对我来说似乎非常简单。

假设我有一个带有getter和setter的属性需要转发到一个也有getter和setter的members属性。 写这个最快的方式是什么?

这是一个接近最小的编译示例。 请在评论中查看我想写的内容。

//Core is unchangeable external code
class Core
{
    public int prop { get; set; }
    public Core() { prop = 42; }
}

//Boilerfun can be modified
interface IBoilderFun
{
    int Prop { get; set; }
}

//This implements the adapter for the boiler special case Core
class CoreBoilerAdapter : IBoilderFun
{
    private Core core;

    public CoreBoilerAdapter(Core core)
    {
        this.core = core;
    }

    public int Prop
    {
        get { return core.prop; }
        set { core.prop = value; }
    }
    //public int Prop { core.prop; } <-- this would be awsome
}

class Program
{
    static void Main(string[] args)
    {
        IBoilderFun bf = InstanciateBasedOnConfig();
        System.Console.WriteLine(bf.Prop);
    }

    private static IBoilderFun InstanciateBasedOnConfig()
    {
        return new CoreBoilerAdapter(new Core());
    }
}

1 个答案:

答案 0 :(得分:2)

Resharper有一个名为“生成委派成员”的功能。否则,你可能花几个小时写一个基于Roslyn的重构。