【问题标题】:Optional Arguments in an Expression Tree表达式树中的可选参数
【发布时间】:2019-08-03 15:33:46
【问题描述】:

我(尝试)将调用表达式传递给采用可选参数的方法,但遇到了Q&A 中描述的问题。它是在单元测试的上下文中出现的。

Eric Lippert 说表达式树中的命名参数支持是expensive。是什么原因造成的?我是否将可选参数与命名混为一谈?

【问题讨论】:

    标签: .net expression-trees optional-arguments


    【解决方案1】:

    Eric Lippert 说表达式树中的命名参数支持很昂贵。是什么原因造成的?

    这是一项复杂的功能,需要仔细设计、实施、测试和记录,并且可能会在未来造成维护负担。

    所有这些工作都必须由专家完成,他们都可能是忙于其他工作的人。

    该功能将花费大量时间和精力,并且可能需要协调多人的工作;协调也需要时间和精力。

    如果您的团队愿意免费完成这项工作,请这样做并提交拉取请求。

    如果您有一个团队愿意做这项工作,并且您将支付他们的薪水,请再次这样做,并提交拉取请求。

    如果您不这样做,但您希望其他人为您完成这项工作,那么您的工作就是说服这些人最好地利用他们的时间为您实现此功能。这不是提出这种情况的正确论坛;在 Roslyn 的 github 论坛上提出案例。

    我是否将可选参数与命名混为一谈?

    听起来确实如此。但在表达式树中支持可选参数也是一个潜在的昂贵特性。

    【讨论】:

    • 很公平。我以为您的意思是 昂贵 是在计算方面,而不是人。
    • 由于我在对您所链接的答案的评论中明确表示,我的意思是“就人而言很昂贵”,我不清楚您为什么认为我的意思不是这样。在您提出 cmets 中已回答的问题之前,您是否可能没有阅读 cmets? 请在提出后续问题之前阅读完整答案,包括 cmets。这将为您和我双方节省时间。
    猜你喜欢
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 2017-12-07
    相关资源
    最近更新 更多