【问题标题】:Using nullable types in public APIs在公共 API 中使用可为空的类型
【发布时间】:2009-08-04 23:05:07
【问题描述】:

我在 DAL 中有一个方法,例如:

public bool GetSomeValue(int? a, int?b, int c)
{
   //check a Stored Proc in DB and return true or false based on values of a, b and c
}

在这个方法中,我传递了两个可为空的类型,因为这些值可以为空(并在 DB Stored Proc 中将它们检查为空)。我不想使用幻数,所以可以传递这样的可空类型(从性能和架构灵活性的角度来看)?

【问题讨论】:

    标签: c# design-patterns


    【解决方案1】:

    我认为这是完全有效的——我也更喜欢可空类型而不是魔法值。

    【讨论】:

      【解决方案2】:

      由于可空类型是基类库的一部分,并且与任何特定语言无关,我认为它完全有效。在公共 API 中,我唯一避免使用的是特定于语言的构造。

      【讨论】:

        【解决方案3】:

        我认为,如果您可以使用 Collections 或 Collections.Generic 对象,那么您应该觉得使用 Nullable<T> 是完全合理的。

        .NET 语言是强类型的,所以我认为应该期待一种类型化的 API 方法。这种类型恰好是( Nullable<int>, Nullable<int>, int )

        我也可以。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-11-15
          • 2011-02-14
          • 2011-05-11
          • 2022-11-06
          • 1970-01-01
          • 2023-03-30
          • 1970-01-01
          相关资源
          最近更新 更多