Ok, I\'ve thumped on this idea all day now, and I have reached the part where I admit I just flat out don\'t know. It\'s possible that what I\'m doing is just stupid and the
This problem is usually resolved by casting to a common base class or interface of all potential types.
In C# 4, you can also assign it to a dynamic variable to hold the return value and call arbitrary methods on it. The methods will be late bound. However, I prefer to stick to the former solution whenever possible.