Могу ли я скрыть значения конфиденциальных свойств из автоматически созданных методов записи С# 9?C#

Место общения программистов C#
Ответить
Гость
 Могу ли я скрыть значения конфиденциальных свойств из автоматически созданных методов записи С# 9?

Сообщение Гость »


Я создаю систему управления пользователями с хостом домена, которому я отправляю команды. Команды являются record как из-за свойств init, так и из-за сгенерированных вспомогательных методов. Однако я быстро столкнулся с проблемой с этим подходом, например. LoginUserCommand.

command.ToString() возвращает что-то вроде этого (добавлено форматирование):

LoginUserCommand { Идентичность = 10000000-1111-2222-3333-444444444444, Идентификатор корреляции = 20000000-1111-2222-3333-444444444444, Временная метка = 2013-07-26T16:45:20Z, IssuingUserId = 30000000-1111-2222-3333-444444444444, EntityId = a80c081c-cf91-4304-9baa-20fb20c8d9f7, IP-адрес = 127.0.0.1, Пароль = ThisIsAPr0blem } Очевидно, что я могу обойти это, например. переопределение ToString() в классах, где это важно. Наивно, я мог бы сделать что-то вроде

публичная строка переопределения ToString() { вернуть базу.ToString() .Replace(Пароль, "********"); } Но мне интересно, не упустил ли я какой-то встроенный способ, позволяющий сгенерированному методу ToString() маскировать значение свойства Password.
р>
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»