【发布时间】:2016-07-06 09:05:39
【问题描述】:
在 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)
}
}
【问题讨论】:
-
根据您的代码示例,它可能是有效的,但不是好的做法。如果方法返回多个值,则应使用
out-keyword。以这种方式实施它不会有任何好处
标签: c# out command-query-separation