在Ruby和PHP(我猜其他語言也是這樣)中,有一些實用程序方法在設置屬性時被調用。 (針對Ruby的* instance_variable_set *,針對PHP的* __ set *)。有沒有辦法攔截C#中的setter和getters?
所以,讓我們說我有一個C#類是這樣的:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
現在,讓我們說,如果從Person
類中的任何屬性setter被調用時,我想先調用另一個方法,然後繼續與設置者的默認行爲相同,同樣適用於屬性設置者。
這可能嗎?
編輯: 我想這樣做沒有定義支持字段。
你現在展示的方法現在在MSIL中實現了一個後臺字段,所以你爲什麼不想要一個呢? – Mr47 2011-05-17 12:58:57
@ Mr47 Sure,但我不想自己定義它。我想要一個自動的方式來做到這一點。 – 2011-05-17 13:00:16
恐怕任何其他方式都比只有後臺場地更麻煩。 – Mr47 2011-05-17 13:01:58