Delphi在C#中的子类型?

时间:2013-08-18 17:21:24

标签: c# .net delphi clr pascal

在Delphi(或任何Pascal)中,您可以声明子范围类型,因此如果您尝试从允许范围外分配值,则会出现编译器错误。

var
    i: 1..8;
begin
    i := 8; // i := 9 would not work

可以用C#完成吗?我可以想象创建自定义结构,类似SubrangeType<byte>,但我正在寻找内置的东西。

编辑: xanatos和DavidHeffernan的评论给了我更具体问题的想法。 Delphi中的子范围检查在运行时和编译时都可用。在C#中使用自定义结构可以实现在运行时实现,但是可以在C#中实现对编译时的检查吗?

1 个答案:

答案 0 :(得分:4)

C#没有内置语言功能,相当于Pascal子范围。