术语:您如何描述Nullable <t>的类型T?</t>

时间:2011-06-22 04:49:51

标签: c# naming-conventions terminology nullable

在谈论泛型类型时,Foo<T>T被称为泛型类型{{1}的泛型参数类型参数在.NET Foo文档中。

现在,当我处理System.Typeint?这样的类型时,如何在我的示例中引用泛型参数(即Nullable<Bar>int )在描述类型时?

我将其称为可空类型的基类型,但基类型通常用于在描述类层次结构时引用父类。所以我觉得在这里讨论一种基本类型并不合适。使用术语可空类型的泛型参数让我觉得一般。

那你怎么说这些类型?

更具体地说,您如何命名此扩展方法:

Bar

传递public static System.Type GetXxxType(this System.Type type) { if ((type.IsGenericType) && (type.GetGenericTypeDefinition () == typeof (System.Nullable<>))) { return type.GetGenericArguments ()[0]; } else { return null; } } 时,此方法会返回Nullable<T>

1 个答案:

答案 0 :(得分:4)

来自规范:

  

可以为空的类型可以代表所有   其底层类型的值加上   额外的空值。可以为空的类型   是T?,其中T是   基础类型

编辑:

参考: C#4规范部分 4.1.10可空类型