class/message 隐藏一些字段和 return 消息的函数.Net

Function to take class/message hide some fields and return message .Net

你好,我有这个 message/class 例如这样

[ProtoContract]
Public class UserMessage
    {
        public override DateTime MessageTimestamp { get; set; }
        public override string MessageId { get; set; }
        [ProtoMember(35)]
        public string UserName  { get; set; }
        [ProtoMember(34)]
        public string RealName { get; set; }
}

然后当我记录消息或存储它们时,我不希望 RealName 被存储或记录在任何地方,所以我想要一个像

这样的函数
public UserMessage StripMessage(UserMessage msg){
 //hide RealName from message
  return msg;
}

所以这是非常基本的功能,但我只是不知道如何做到这一点。我不能像 [jsonignore] 或类似的东西放在 UserMessage class 上,因为它来自另一个来源,不应该被编辑。所以一些方法 scramble/hide 消息中的字段和 return 未隐藏的字段

   public class UserMessage 
    {
        public override DateTime MessageTimestamp { get; set; }
        public override string MessageId { get; set; }

        [ProtoMember(35)]
        public string UserName { get; set; }

        [ProtoMember(34)]
        public string RealName { get; set; }
    }

    public class UserMessageForLog
    {
        public UserMessageForLog(UserMessage msg)
        {
            MessageTimestamp = msg.MessageTimestamp;
            MessageId = msg.MessageId;
            UserName = msg.UserName;
        }

        public  DateTime MessageTimestamp { get; set; }
        public  string MessageId { get; set; }
        public string UserName { get; set; }
    }

    public LogUserMessage(UserMessageForLog msg)
    {


    }