-2
如何爲System.Object類型定義我自己的構造函數,以便在任何byref
類型被初始化時調用我的自定義構造函數?有沒有辦法做到這一點?我可以爲System.Object類型定義我自己的構造函數嗎?
編輯: 當我讀到http://msdn.microsoft.com/en-us/magazine/cc163791.aspx的一部分後,可能有辦法做到這一點。是否有可能在方法表中的某個地方替換方法指針?
如何爲System.Object類型定義我自己的構造函數,以便在任何byref
類型被初始化時調用我的自定義構造函數?有沒有辦法做到這一點?我可以爲System.Object類型定義我自己的構造函數嗎?
編輯: 當我讀到http://msdn.microsoft.com/en-us/magazine/cc163791.aspx的一部分後,可能有辦法做到這一點。是否有可能在方法表中的某個地方替換方法指針?
重寫一個類(或每個類)的構造函數是不可能的。如果不是密封的,你可以從一個特定的類繼承,並向該類的構造函數添加額外的邏輯。你也可以使用工廠方法。另一個可以選擇的選項是使用Castle或其他代理庫。
不,你不能猴子補丁.NET。你爲什麼想要? – 2012-08-01 22:18:08
愛「猴子補丁」。大聲笑 – 2012-08-01 22:32:17
@Simon它是這個場景的術語:http://en.wikipedia.org/wiki/Monkey_patch – 2012-08-01 22:44:32