İki sınıfım var, bir temel sınıf ve bir alt sınıf. bunu yapmak için denemek Çocuğum sınıfta SonraGarip genericics derleme hatası
protected virtual ReturnType Create<T>() where T : ReturnType {}
:
The type 'T' cannot be used as type parameter 'T' in the generic type or method 'Create()'. There is no boxing conversion or type parameter conversion from 'T' to 'ReturnType'.
:
protected override ReturnTypeChild Create<T>() // ReturnTypeChild inherits ReturnType { return base.Create<T> as ReturnTypeChild; }
Görsel stüdyo bu garip hata veriyor taban sınıfında i genel sanal yöntemi tanımlamak Çocuğun geçersiz kılındığı yerde yan tümceleri yinelemek de bir hata verir:
Constraints for override and explicit interface implementation methods are inherited from the base method, so they cannot be specified directly
Burada neyi yanlış yapıyorum?
Bu, korumalı olarak geçersiz kılınmalıdır BarChild Foo() '? Doğru isimleri verebilir misiniz? Foo ve Bar kafamı incitti. –
Kobi
Ve geri base.Foo BarChild() ;? –
GenericTypeTea
Kodunuzda her türlü sorun var (örneğin, geçersiz kılınmış yönteminizin genel parametresinde eksik, dönüş beyannızda yanlış yerlere ait parşömenler vb.). Belirgin tüm sorunların giderildiği probleminizin minimum düzeyde bir çoğaltmasını oluşturursanız, yardımcı yanıtlar almanız daha olasıdır. – kvb