Странное поведение при сокрытии 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) Я бы подумал, что я дурак сам. НО. Именно этот код у меня работал раньше. В другом проекте правда (который я тоже писал), но работало без проблем.
Значит, похоже, нужно что-то настроить... но вот что я не понимаю.. Кто может наставить на путь истинный?