2017-08-04 77 views
2

使用CallerMemberName作爲MSDN描述如下我已經使用在一個類的實現的INotifyPropertyChangedCallerMemberName屬性。但CallerMemberName只能與具有默認值的參數一起使用......有沒有一種常用的方法來解決這種不一致性,而無需使用硬編碼的字符串參數調用notify方法?如何在符合CLS裝配

回答

1

我只是刪除CallerMemberName屬性和默認參數值,這意味着該參數不再是可有可無的,因此該方法的簽名變成了:

private void NotifyPropertyChanged(String propertyName) 

然後,它是一個小的(足夠的)變化叫它與nameof運營商提供的字符串參數:

NotifyPropertyChanged(nameof(FooProperty)); 

這似乎工作得很好。

我會將問題留待一段時間,但其他人可能有更好的方法或建議此解決方案的問題。