【发布时间】:2014-03-02 06:29:48
【问题描述】:
我正在寻找定义新类型并在 C# 中使用它的可能性,如下所示:
类定义:
public class Position
{
public double180 Longitude { get; set; } // double180 is a type within a range -180 and 180
public double90 Latitude { get; set; } // double90 is a type within a range of -90 and 90
}
用法:
var position = new Position
{
Longitude = 45,
Latitude = 96 // This line should give an error while initializing the object
};
【问题讨论】:
-
您可以使属性在其设置器中验证,或者您可以使用隐式转换创建一个包装
double的类型。 -
@dvnrrs 提供的解决方案是对的,如果使用超出范围的值,你只需要定义你需要什么类型的错误。
-
您是真的想创建一个新类型还是只是验证一些值?