Ключевое слово base применяется для доступа к членам базового класса из производного, у которых совпадают имена. 
   
 
     Main.cs  
     
usingSystem;classOne {-  
protectedintval; -  
publicOne(intarg) { -   
val = arg; -  
} -  
publicintGetValue() { -   
returnval; -  
} }classTwo : One {-  
intval; -  
publicTwo(intargOne,intargTwo) :base(argOne) { -   
val = argTwo; -  
} -  
publicintSum() { -   
/*доступ к члену базового класса, имеющего одинаковое -   
название с помощью оператора base*/ -   
returnval +base.val; -  
} }classProgram {-  
publicstaticintMain() { -   
Two T =newTwo(10, 20); -   
Console.WriteLine(T.Sum()); -   
Console.ReadKey(); -   
return0; -  
} }
usingSystem;classOne {-  
protectedintval; -  
publicOne(intarg) { -   
val = arg; -  
} -  
publicintGetValue() { -   
returnval; -  
} }classTwo : One {-  
intval; -  
publicTwo(intargOne,intargTwo) :base(argOne) { -   
val = argTwo; -  
} -  
publicintSum() { -   
/*доступ к члену базового класса, имеющего одинаковое -   
название с помощью оператора base*/ -   
returnval +base.val; -  
} }classProgram {-  
publicstaticintMain() { -   
Two T =newTwo(10, 20); -   
Console.WriteLine(T.Sum()); -   
Console.ReadKey(); -   
return0; -  
} }
    
30