From Rockford Lhotka's Expert C# 2008 and VB 2008 Business Objects books
Did someone know, if the only choice for Multiple Inheritance in VB.NET is using a interfaces. I would like to inherit from multiply base classes and have good code reuse. I think this is possible in C++. I want to use VB.NET 2005
Curelom:Neither VB.NET nor C# allow for multiple inheritance. The solution is to use interfaces instead. While interfaces have their issues, this eliminates problems with multiple inheritance including inheriting from objects that both contain the same property. Which property should the child object use?
The better way, and my suggestion, is to use collaboration to achieve the code reuse you are after. For instance, and as shown in Rocky's implementation, when designing a class that implements ICloneable, instead of rewriting the same block of code, delegate to another class for the work (ObjectCloner). This can be done in many cases to give you the benefits of code reuse but, alas, not all. In these cases there are many other suggested approaches, as outlined in the other posts, that may help you achieve your goal. You will find that no one pattern fits across all cases, it is finding the right mix that will get you the farthest.
HTH