は、私はクラス 継承されたWeb APIのAPIコントローラ
Square : Rectangle : Shape (abstract)
のカップルを持っていると私は私が使用したいApiControllerから継承ベースコントローラを持っています。
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
私はpublic override IEnumerable<Square> Get()
にpublic new IEnumerable<Square> Get()
を変更する場合:
public abstract class BaseController<T> : ApiController where T : class
{
public abstract IEnumerable<T> Get()
...
}
と
public class DerivedController : BaseController<Rectangle>
{
public override IEnumerable<Rectangle> Get()
...
}
public class AnotherDerivedController : BaseController<Square>
{
public new IEnumerable<Square> Get()
...
}
/API /矩形は適切IEnumerable<Rectangle> Get()
/API /平方は私にエラーを与える呼びます、私はコンパイル時のエラーを得るn個の署名が異なる
コードを適切な方法で呼び出すにはどうすればよいですか? RegisterRoutesに各クラスのメソッドを明示的に登録する必要がありますか?
こんにちはAliostad、私はあなたの変更を反映するために私の質問を更新しました。私はまだここにいくつかの問題を抱えていますが、あなたの提案は私にとって有益でした。ありがとう。 – khaihon