Я хочу создать подкласс 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);
}