2011-12-20 53 views
3

我正在处理一些将MVC模式中的Silverlight视图绑定到演示者的代码。在这种特殊情况下,这是一个很长的锻炼一遍又一遍这样做:清洁财产声明

型号:

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

主持人:

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

显然,主持人可以与免掉在这个例子中,但有几件事值得在这种情况下值得拥有,因为不是属性就是这样,我们的编码标准要求具有Model,View,和每个窗口/页面/用户控件的Presenter。

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

型号:

public bool MyBoolean -> _myThingy.MyBoolean; 

主持人:

public bool MyBoolean -> _model.MyBoolean; 

其中,->是“绑定属性操作符”或一些相似的名称 - 本质上是第一位代码的语法糖。有没有这样的事情?如果没有,是否有更干净的方式来做我正在做的事情?

回答

5

有没有这样的事情?如果没有,是否有更干净的方式来做我正在做的事情?

不可以。就代码而言,您拥有的可能是最佳选择。 C#不提供任何功能中的这种类型的功能。

但是,您可以使用工具来使这更简单。例如,Resharper模板可以很容易地创建其中一个非常快。第二个可以变成这将只是需要输入类似(假设“ptprop”作为关键字)的模板:

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

这将简化开发工作,但代码将是相同的......