> Here if both base class has one common method say Method1().Now,during execution if derived class excess Method1(),then derived class will get confuse Not really. :-) This problem has already been solved at a same matter with multiple inheritance interfaces. It could be solved (IMHO with more willing). For example:
class base1
{
void Method()
{
DoSomethingGood();
}
}
class base2
{
void Method()
{
DoSomethingVeryGood();
}
}
class derive : base1, base2
{
new void base1.Method()
{
DoSomethingBad();
}
new void base2.Method()
{
DoSomethingVeryBad();
}
}