2011-12-20 63 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} 

這將簡化開發工作,但代碼將是相同的......