2011-02-23 40 views
1

新來PostSharp 2.0和嘗試NotifyPropertyChanged AOP這裏提供的類: http://www.sharpcrafters.com/solutions/ui#undo-redoAOP w/PostSharp - 經典NotifyPropertyChanged PropertyChanged事件處理程序丟失?

當我試圖鉤到PropertyChanged事件處理程序編譯器告訴我這是沒有定義。我沒有直接在所討論的對象上實現INotifyPropertyChanged接口,只應用了該屬性。

我會假設答案是實現接口,但這有點失敗了,我錯過了什麼或者這也是一個要求?

有沒有辦法讓PostSharp修改類的預編譯來引入這些成員/接口?

+0

對於特定情況,您可以實現INotifyPropertyChanged接口並在需要使用的類上聲明事件。你的方面仍然有效。如果你在編譯時需要它,那麼你必須明確地聲明它。 –

回答

1

我想,你正試圖在同一個程序集中訂閱事件。 PostSharp在編譯後重新編寫你的程序集。因此,如果您引用已由PostSharp二進制重寫器重寫的程序集,則這隻會起作用。

+0

在主編譯步驟開始之前,有什麼方法讓PostSharp在某處修改它?那麼什麼是解決方法,只是實現接口和事件以及[MarkupAttribute]? –

+0

在編譯之前修改它意味着要修改你的代碼。 PostSharp不會那樣做。你的工作聽起來很合理,但我不知道它是否會起作用。我建議,你只需嘗試一下。 –

相關問題