Замена значения объекта в OutputFormatterCanWriteContext из выходного форматера - PullRequest
0 голосов
/ 10 января 2019

Я хочу создать подкласс OutputFormatterCanWriteContext , чтобы я мог добавить метод для установки его свойства Object с защищенным установщиком.

Это достаточно просто. Как мне настроить ASP.NET Core для использования моего подкласса, а не его собственного?

Я пытаюсь сделать это, потому что у меня есть выходной форматер, который должен заменить значение Object контекста другим значением, прежде чем ответ будет отправлен клиенту.

Мое текущее решение, которое не включает подклассификацию, состоит в том, чтобы установить Object через отражение

public override Task WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding)
{
    var prop = context.GetType().GetProperty(
        nameof(OutputFormatterWriteContext.Object),
        BindingFlags.Instance | BindingFlags.Public);
    ...
    prop.SetValue(context, someOtherValue);            
}
...