Ne radi se ovde o nasledjivanju nego o overloadingu... Interfejsi nemaju kod, pa ne postoji nasledjivanje interfejsa (to me najvise iritiralo u shantravim prevodima strucne literature

).
Nasledjuje se kod, ne struktura. Interfejsi se IMPLEMENTIRAJU. Sta vise, kad jedan interfejs "nasledjuje" drugi, ni to nije nasledjivanje nego prosirivanje postojeceg interfejsa. Kad klasa implementira interfejs MORA da implementira SVE metode i propertije makar oni bili prazni. Tipovi parametara cine deo potpisa metoda i ne mogu da se menjaju, tj. Add(object) i Add(Control) su dva razlicita metoda. Ono sto si ti video je ovaj kod (uprosteno)
Code:
public interface IMyList
{
public void Add (object value);
}
public class Implem : IMyList
{
public void new Add (object value) {}
public void new Add (Control value) {}
}
ono sto contorlcollection ima u implementaciji IList.Add metoda je:
Code:
int IList.Add(object control)
{
if (control is Control)
{
this.Add((Control) control);
return this.IndexOf((Control) control);
}
throw new ArgumentException("control");
}
kao sto vidi, proveri da li je object tipa COntrol i ako jeste pozove svoj ne-interfejski Add(Control).
Ono sto je ovde nezgodno je sto C# ne dozvoljava non-public implementacije interfejsa. Medjutim, bas ta klasa koju pominjes ima Add implementiran kao private, zanimljivo...
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić