首页 > 解决方案 > 获取类/消息的函数隐藏一些字段并返回消息.Net

问题描述

你好,我有这个消息/类,例如这样

[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因为它来自另一个来源,不应该被编辑。所以有一些方法可以打乱/隐藏消息中的字段并返回未隐藏的字段

标签: c#asp.net-corescramble

解决方案


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


    }

推荐阅读