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)
{
}
你好,我有这个 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)
{
}