Странное поведение при сокрытии new

В общем. Есть у меня базовая моделька:

public class BaseReturn
{
    public object Model {get; set;}
}

Имеется его наследник:

public class BackendReturn : BaseReturn
{
    public BackendReturn() { }

    public BackendReturn(Attachment model)
    {
        Model = model;
    }

    public new Attachment Model { get; private set; }
}

В нём с помощью new меняется возвращаемый тип.

А так же имеется возвращающий метод из контроллера:

    internal IActionResult File(BaseReturn attachment)
    {
        if (!attachment.Success)
            return GetError(attachment.Code, attachment.Message);

        var model = (attachment.Model as Attachment);

        return base.File((model.Stream as MemoryStream).ToArray(), "application/octet-stream", model.FileName);
    }

Проблема в том что почему-то model ссылается на базовый объект из BaseReturn -> object, а не на тот который реально передаётся (BackendReturn -> Attachment) Я бы подумал, что я дурак сам. НО. Именно этот код у меня работал раньше. В другом проекте правда (который я тоже писал), но работало без проблем.

Значит, похоже, нужно что-то настроить... но вот что я не понимаю.. Кто может наставить на путь истинный?


Ответы (0 шт):