C # 'da, bir arabirim uygulayan bir sınıf , bu arabirimin tüm üyelerini tanımlamak için gereklidir . Soyut bir sınıf olması durumunda, bu üyeleri abstract
anahtar kelimeyle tanımlamanız yeterlidir :
interface IFoo
{
void Bar();
}
abstract class Foo : IFoo
{
public abstract void Bar();
}
Ya da başka bir deyişle için: Eğer yok zorunda "uygulamak" (soyut sınıflar üzerinde korkunç bir sınırlama olurdu) onu; ancak, C # ' da derleyiciye kasıtlı olarak parayı somut alt sınıflara geçirdiğinizi söylemeniz gerekir - ve yukarıdaki kod satırı bunun nasıl yapılacağını gösterir.
Bunun sorunun cevabı olmadığından şikayet eden yorumlar ve olumsuz oylar asıl noktayı kaçırıyor. Stack Overflow'a gelen, bu derleyici hatasını alan, ancak bir uygulama sağlamanın hata olacağı soyut bir sınıfa sahip olan biri, iyi bir çözüm olmadan takılır - çalışma zamanı istisnalarını atan uygulama yöntemleri yazmak zorunda kalır, korkunç bir çalışma -around - yukarıdaki bilgilere sahip olana kadar. C # 'ın bu açıklığı gerektirmesinin iyi ya da kötü olması, Stack Overflow kapsamının dışındadır ve ne soru ne de bu yanıtla ilgili değildir.