2013-10-29 31 views
0

我有幾個類發出PropertyChanged時,其屬性的值更改。我有一個從INotifyPropertyChanged派生的基類,並實現了PropertyChanged事件和方法OnPropertyChanged。我可以重構幾個相似的屬性

我的其他類從這個基類派生,然後他們的所有屬性遵循相同的模式:有一個類變量保存值和一個屬性讀取/設置此變量以及調用OnPropertyChanged設置。

private int number = 42; 
public int Number 
{ 
    get { return number; } 
    set { number = value; OnPropertyChanged("Number"); } 
} 

此代碼開始顯示這麼多我想知道如果我可以以某種方式重構它,以減少每個屬性的行數。或者嘗試減少這六行代碼(評論規範的+3行)是否過分矯枉過正?

+1

這實際上是從模式的「正確」實現中缺少的行。完整的實現將包含'if(number == value)return;'。現在,這是爲什麼你關心?這段代碼速度很快,可以通過任何一半體面的IDE摺疊成一行。我說繼續生活,擔心更重要的東西 –

回答

0

您可能需要查看一些用於注入屬性更改通知的構建時工具,快速谷歌出現https://github.com/Fody/PropertyChanged然而,它不是我在我公司的項目上看到的。關於我的頭頂,我不能記住他們使用的是哪一個。

+0

這隻適用於Visual Studio,對不對?不幸的是我使用它和Xamarin Studio(Mono)作爲IDE。正如你所建議的那樣,也許我應該摺疊代碼並繼續我的生活。 :P –

+0

@ ChristofferBrodd-Reijer我懷疑(我沒有太深入地檢查)他們將事情注入到.csproj文件中,所以只要您使用的是使用msbuild來運行構建的IDE,那麼您可以使用它儘管你需要使用visual studio來獲得它提供的任何IDE集成。 –

相關問題