【发布时间】:2010-05-23 04:09:53
【问题描述】:
我在查看“Domain Oriented N-Layered .NET 4.0 Sample App”项目时遇到了一些我不理解的代码。在这个项目中,他们经常使用如下语法来检查参数是否为空:
public GenericRepository(IQueryableContext context,ITraceManager traceManager)
{
if (context == (IQueryableContext)null)
throw new ArgumentNullException("context", Resources.Messages.exception_ContainerCannotBeNull);
为什么要将 null 转换为要检查 null 的对象的类型?
【问题讨论】:
-
我认为根本没有理由,因为
null是null- 它没有类型。它们可能符合一些你应该只检查相同类型的对象是否相等参数,但这对我来说似乎有点荒谬...... -
我不知道,也许他们认为这是为了可读性/自我文档?
-
这个类在域模型中的什么位置?
-
离题:谷歌已经找到了这个页面,我觉得这很棒。只需谷歌“IQueryableContext”...
-
@ItzWarty,所以可能会在添加新帖子时对他们进行 ping 操作。我也使用了一个 WordPress 插件。