我不知道如何描述這個,但我想創建一個基類,其中包含一個名爲FromXml的共享(工廠)函數。我想這個函數實例化一個對象在正確類型,然後通過一個XmlDocument填充如何創建通用構造函數? (即BaseClass.FromXml(<param>)
例如,假設我有這樣的事情:
Public Class XmlObject
Public Shared Function FromXml(ByVal source as XmlDocument) As XmlObject
// <need code to create SPECIFIC TYPE of object and return it
End Function
End Class
Public Class CustomObject
Inherits XmlObject
End Class
我希望能夠做這樣的事情:
Dim myObject As CustomObject = CustomObject.FromXml(source)
這可能嗎?
不錯。我其實不知道你可以限制泛型參數到一個特定的類。那會爲我節省很多「如果TryCast ...」的代碼。 – hometoast
它運行良好,你可以限制到接口,並作出通用的限制(ClassTableClass(的TBase)...函數myFunc(的TBase)等等等等 我不知道任何關於Activator.CreateInstance ,我會檢查出來的:-) –