Ben sınıflar Kalıtsal Web API API Kontrolörü
Square : Rectangle : Shape (abstract)
bir çift var ve ben kullanmak istiyorum ApiController devralmasını bir Baz Denetleyicisi var.
public abstract class BaseController<T> : ApiController where T : class
{
public abstract IEnumerable<T> Get()
...
}
ve
public class DerivedController : BaseController<Rectangle>
{
public override IEnumerable<Rectangle> Get()
...
}
public class AnotherDerivedController : BaseController<Square>
{
public new IEnumerable<Square> Get()
...
}
/API/dikdörtgen düzgün arayacak IEnumerable<Rectangle> Get()
/API/meydan bana bir hata verecektir: Ben public new IEnumerable<Square> Get()
public override IEnumerable<Square> Get()
geçerseniz
Multiple actions were found that match the request:
System.Linq.IEnumerable`1[Square] Get() on type Web.Api.Controllers.AnotherDerivedController
System.Linq.IEnumerable`1[Rectangle] Get() on type Web.Api.Controllers.DerivedController
Döndüğünden beri derleme zamanı hatası alıyorum n imzalar farklı
Doğru yöntemi çağırmak için kodumu nasıl alabilirim? Her sınıfın yöntemlerini RegisterRoutes'ta açıkça kaydettirmek gerekli midir?
Merhaba Aliostad, Sorunuzu değişikliklerinizi yansıtacak şekilde güncelledim. Hala burada bazı problemler alıyorum, ama önerilerin bana yardımcı oldu. Teşekkürler. – khaihon