这是因为 参数 t 的默认值 必须是一个 编译时 常量(编译时就已经确定了的值);DataTime.MaxValue(MinValue) 都是 static readonly 类型的,不能做参数,它的值实在运行时才确定的;而 double.MaxValue(MinValue) 是一个编译时常量,可以做参数,它的值为:1.7976931348623157E+308(-1.7976931348623157E+308)。
你这是C#,还是C++?
C#中是不允许函数带默认参数的,也就是说 double w = double.MaxValue 也不行.
回Galactica,c# 4.0已经支持“Named and optional parameters”。
public StreamReader OpenTextFile(
string path,
Encoding encoding = null,
bool detectEncoding = true,
int bufferSize = 1024);
但是可选参数必须放在最后一个。
楼主的问题,首先只是个只读属性,再而按照楼上方法写。