更简洁的属性声明

本文关键字:声明 属性 简洁 | 更新日期: 2023-09-27 18:18:31

我正在编写一些代码,用于以MVP模式将Silverlight视图绑定到演示者。在这个特殊的例子中,这是一个非常长的练习,一遍又一遍地做:

模型:

public bool MyBoolean
{
    get { return _myThingy.MyBoolean; }
    set { _myThingy.MyBoolean = value; }
}

主持人:

public bool MyBoolean
{
    get { return _model.MyBoolean; }
    set { _model.MyBoolean = value; }
}

很明显,在这个例子中,显示器可以被删除,但是有一些事情使它在这种情况下值得拥有,因为不是每个属性都是这样的,我们的编码标准要求每个窗口/页面/用户控件都有模型,视图和显示器。

我真正的问题是,我真的希望能够做这样的事情:

模型:

public bool MyBoolean -> _myThingy.MyBoolean;

主持人:

public bool MyBoolean -> _model.MyBoolean;

其中的->是"绑定属性操作符"或类似的名称——本质上是第一个代码位的语法糖。已经有这样的东西了吗?如果没有,有没有更干净的方法来做我正在做的事情?

更简洁的属性声明

已经有这样的东西了吗?如果没有,有没有更干净的方法来做我正在做的事情?

。就代码而言,您所拥有的可能是最好的选择。c#没有在任何特性中提供这种类型的功能。

但是,您可以使用工具使其更简单。例如,Resharper模板可以很容易地快速创建其中一个。第二个可以变成一个模板,只需要输入如下内容(假设关键字是"ptprop"):

ptprop{TAB}bool{TAB}MyBoolean{Tab}_model{Enter}

这将简化您的开发工作,尽管代码将是相同的…