您好,我有这样的消息/课程,例如
[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
或类似名称,因为它来自另一个来源,不应进行编辑。因此,可以使用某种方式来加扰/隐藏消息中的字段并返回未隐藏的字段
答案 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)
{
}