我正在研究一些代码,用于将Silverlight视图绑定到MVP模式中的演示者。在这种特殊情况下,这是一次非常长的练习:
型号:
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;
其中->
是“绑定属性运算符”或一些类似的名称 - 基本上是第一位代码的语法糖。有没有这样的东西?如果没有,是否有更清洁的方式来做我正在做的事情?
答案 0 :(得分:5)
有没有这样的东西?如果没有,是否有更清洁的方式来做我正在做的事情?
没有。在代码方面,你所拥有的可能是最好的选择。 C#在任何功能中都不提供此类功能。
但是,您可以使用工具来简化这一过程。例如,Resharper模板可以很容易地创建其中一个非常快。第二个可以变成一个模板,只需要输入类似的东西(假设“ptprop”作为关键字):
ptprop{TAB}bool{TAB}MyBoolean{Tab}_model{Enter}
这会简化您的开发工作,尽管代码是相同的......