在 CQS(命令查询分离)中,通常有带有“void”返回值的命令和带有返回类型的查询。(或者我已经学会了......)
现在我想知道这个命令是否有效,因为基本上,我们正在做与查询相同的事情,只是使用“out”关键字而不是使用返回类型:
public class LogTrace{
public Guid CorrelationId { get; }
public DateTime Timestamp { get; }
}
public class Logger{
public void Log(string message, out LogTrace trace){
trace = new LogTrace(){//Fill properties};
//Log the message (+ trace)
}
}