我想知道为什么.NET便携式类库中没有.ToShortDateString.我有两个使用相同代码的项目(Silverlight和常规.NET类库),代码涉及在DateTime对象上调用.ToShortDateString().为了重复使用相同的代码,而不是在2个地方复制相同的代码,我创建了一个可移植的类库,因此可以由Silverlight和.NET Class Library导入.不幸的是,它似乎不是.ToShortDateString()在使用类库时可用.我可以在便携式类库方法中接受一个字符串参数,并从silverlight和类库项目传递.ToShortDateString()值,但我想知道为什么这个方法不是便携式库的本机.这是一个文化问题吗?
解决方法
虽然属于System命名空间中定义的类型的大多数方法/属性在PCL中可用,但有一些例外,ToShortDateString是其中之一.以下是便携式DateTime成员的列表.我不知道排除某些字符串转换方法的原因是什么,但我猜这是由于冗余.正如cadrell0所指出的,您可以通过使用带有参数的ToString来始终实现相同的操作.
T:System.DateTime M:System.DateTime.ToString(System.String) M:System.DateTime.op_GreaterThan(System.DateTime,System.DateTime) M:System.DateTime.ParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles) M:System.DateTime.get_Month M:System.DateTime.FromFileTimeUtc(System.Int64) M:System.DateTime.get_Date M:System.DateTime.get_TimeOfDay M:System.DateTime.get_Kind M:System.DateTime.ToUniversalTime M:System.DateTime.get_Year M:System.DateTime.op_Subtraction(System.DateTime,System.TimeSpan) M:System.DateTime.get_Second M:System.DateTime.get_DayOfWeek M:System.DateTime.TryParse(System.String,System.Globalization.DateTimeStyles,System.DateTime@) M:System.DateTime.#ctor(System.Int32,System.Int32,System.Int32) M:System.DateTime.get_Day P:System.DateTime.Date M:System.DateTime.op_Addition(System.DateTime,System.TimeSpan) M:System.DateTime.IsDaylightSavingTime M:System.DateTime.get_DayOfYear M:System.DateTime.ToFileTime M:System.DateTime.Subtract(System.DateTime) M:System.DateTime.IsLeapYear(System.Int32) M:System.DateTime.#ctor(System.Int32,System.DateTimeKind) M:System.DateTime.ParseExact(System.String,System.String,System.Globalization.DateTimeStyles) P:System.DateTime.Day M:System.DateTime.get_Hour M:System.DateTime.Equals(System.DateTime) M:System.DateTime.get_UtcNow M:System.DateTime.get_Today M:System.DateTime.TryParse(System.String,System.DateTime@) P:System.DateTime.Kind M:System.DateTime.System#IComparable#CompareTo(System.Object) P:System.DateTime.UtcNow P:System.DateTime.Hour P:System.DateTime.Millisecond M:System.DateTime.Parse(System.String) F:System.DateTime.MinValue M:System.DateTime.op_GreaterThanOrEqual(System.DateTime,System.DateTime) M:System.DateTime.#ctor(System.Int64,System.DateTimeKind) M:System.DateTime.GetHashCode P:System.DateTime.Year M:System.DateTime.Add(System.TimeSpan) M:System.DateTime.Equals(System.DateTime,System.DateTime) M:System.DateTime.ToString(System.IFormatProvider) M:System.DateTime.get_Now P:System.DateTime.Month M:System.DateTime.DaysInMonth(System.Int32,System.Int32) M:System.DateTime.AddMinutes(System.Double) M:System.DateTime.get_Minute M:System.DateTime.#ctor(System.Int64) M:System.DateTime.op_LessThanOrEqual(System.DateTime,System.DateTime) M:System.DateTime.ToString(System.String,System.IFormatProvider) P:System.DateTime.DayOfYear M:System.DateTime.AddMilliseconds(System.Double) P:System.DateTime.Second P:System.DateTime.DayOfWeek M:System.DateTime.op_Equality(System.DateTime,System.DateTime) M:System.DateTime.#ctor(System.Int32,System.Int32) M:System.DateTime.TryParseExact(System.String,System.DateTime@) M:System.DateTime.ToFileTimeUtc P:System.DateTime.Today M:System.DateTime.op_LessThan(System.DateTime,System.DateTime) M:System.DateTime.get_Millisecond M:System.DateTime.op_Subtraction(System.DateTime,System.Int32) M:System.DateTime.ParseExact(System.String,System.IFormatProvider) M:System.DateTime.AddSeconds(System.Double) M:System.DateTime.AddMonths(System.Int32) M:System.DateTime.AddYears(System.Int32) M:System.DateTime.Parse(System.String,System.Globalization.DateTimeStyles) M:System.DateTime.get_Ticks P:System.DateTime.Ticks M:System.DateTime.TryParseExact(System.String,System.DateTime@) M:System.DateTime.ToLocalTime M:System.DateTime.op_Inequality(System.DateTime,System.DateTime) M:System.DateTime.SpecifyKind(System.DateTime,System.DateTimeKind) M:System.DateTime.AddHours(System.Double) P:System.DateTime.Minute M:System.DateTime.Subtract(System.TimeSpan) M:System.DateTime.#ctor(System.Int32,System.DateTimeKind) F:System.DateTime.MaxValue M:System.DateTime.ToString M:System.DateTime.FromFileTime(System.Int64) P:System.DateTime.TimeOfDay M:System.DateTime.Compare(System.DateTime,System.DateTime) M:System.DateTime.CompareTo(System.DateTime) M:System.DateTime.Parse(System.String,System.IFormatProvider) M:System.DateTime.AddDays(System.Double) P:System.DateTime.Now M:System.DateTime.Equals(System.Object) M:System.DateTime.AddTicks(System.Int64)