采取类/消息的功能隐藏一些字段并返回消息.Net

时间:2019-04-26 08:35:08

标签: c# asp.net-core scramble

您好,我有这样的消息/课程,例如

[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或类似名称,因为它来自另一个来源,不应进行编辑。因此,可以使用某种方式来加扰/隐藏消息中的字段并返回未隐藏的字段

1 个答案:

答案 0 :(得分:1)

   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)
    {


    }