Veoma cesto mi se desava da pisem osnovnu klasu koja sadrzi grubu funkcionalnost i metode koji su samo placeholderi za klasu koja ce da je nasledi. Posto osnovna klasa ima neki kod onda ne moze biti apstraktna, i samim tim placeholder metodi moraju biti virtualni (a ne apstraktni). Obicno moji placeholder metodi sadrze samo liniju "throw new MustOverrideException". Problem sa ovakvim pristupom je da se proveravanje konzistentnosti premesta na runtime i nema podrske za staticki analyze, sto se donekle izbegava pisanjem testova (eh da...). Isto tako veoma cesto je bazna klasa u svom kompajliranom asembliju i onda nije lako naci sve metode koje moras da overrajdujes jer jer source bazne klase tri servera daleko...
Verovatno je to uradjeno da bi se sprecilo kreiranje apstraktne klase, ali to su sigurno mogli da rese na druge nacine (npr. klasa koja sadrzi apstraktne metode ne sme da ima public konstruktor ili bar runtime exception pri kreiranju takve klase, sto je opet bolje od runtime MustOverride exceptiona za N metoda koje treba naci)
Postoji li neki atribut za metod ili slicna kerefeka koja bi oznacavala apstraktni metod ili bar hintovala Visual Studio da napravi skeleton implementacije?
impersonation.