我想知道爲什麼.NET可移植類庫中沒有.ToShortDateString
。我有兩個使用相同代碼的項目(Silverlight和常規.NET類庫),代碼涉及在DateTime
對象上調用.ToShortDateString()
。爲了重用相同的代碼而不是在2個地方複製它,我創建了一個可移植的類庫,以便它可以通過Silverlight和.NET Class Library導入。不幸的是,當使用類庫時,似乎並不存在.ToShortDateString()
。我可以接受可移植類庫方法中的字符串參數,並通過Silverlight和類庫項目中的.ToShortDateString()
值,但我想知道爲什麼此方法不適用於便攜式庫。這是一個文化問題嗎?.NET可移植類庫中的.ToShortDateString發生了什麼
10
A
回答
4
儘管屬於在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.IFormatProvider,System.Globalization.DateTimeStyles,[email protected])
M:System.DateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,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.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.DateTimeKind)
M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider,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,[email protected])
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,System.Int32,System.Int32,System.Int32,System.Int32)
M:System.DateTime.TryParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.DateTimeStyles,[email protected])
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.DateTime)
M:System.DateTime.#ctor(System.Int32,System.Int32,System.Int32)
M:System.DateTime.ParseExact(System.String,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.IFormatProvider,System.Globalization.DateTimeStyles)
M:System.DateTime.get_Ticks
P:System.DateTime.Ticks
M:System.DateTime.TryParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles,[email protected])
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.Int32,System.Int32,System.Int32,System.Int32,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)
6
它輾轉從我們所認爲的「現代」的表面積,這暗示我在這裏左右(What is .NET Portable Subset (Legacy)?)淡化其使用。這意味着它不會顯示更新的平臺(如Windows應用商店應用),並且不會顯示在便攜式庫中。
只需將「d」傳遞給DateTime.ToString()即可模仿它的行爲。
我們不想強調它的使用,因爲它是唯一的在Windows操作系統級別沒有表示的.NET Framework日期格式。這導致它不反映/尊重用戶所做的格式更改。在某些組織和政府中,重要的是要尊重這些設置。
+1
如果這是唯一被刪除的,那麼爲什麼'ToShortTimeString'被刪除的背後是什麼故事? (我們應該用什麼字符串來替換它?) – BrainSlugs83
相關問題
- 1. 什麼是可移植類庫?
- 2. 可移植類庫中的併發ObservableCollection
- 3. 可移植類庫和.NET ConcurrentDictionary
- 4. 可移植類庫和.NET Framework 4.6.x
- 5. 爲什麼我應該在Xamarin中使用可移植類庫?
- 6. StreamReader和可移植類庫
- 7. 可移植類庫版本
- 8. 可移植類庫vs類庫
- 9. 可移植類庫中的System.Security.Cryptography.Xml?
- 10. 可移植類庫中的SafeHandleZeroOrMinusOneIsInvalid
- 11. 什麼版本的Blend支持WPF 4.5,可移植類庫?
- 12. 可移植類庫在重新分發庫中貢獻
- 13. 什麼語言來編寫可移植類庫
- 14. 用於可移植類庫的Wix .NET 4.0.3
- 15. ASP .NET - Eval()背後發生了什麼?
- 16. Rx for .NET - Scheduler.Dispatcher發生了什麼?
- 17. 在.NET可移植子集
- 18. c#5.x的Twilio庫中的Twilio.Message類發生了什麼?
- 19. .NET 4.0中的Array.Sort()發生了什麼? TrySZSort()消失了嗎?
- 20. 自定義.NET可移植類庫配置文件?
- 21. 位移c#這裏發生了什麼?
- 22. 如何打包以.NET Core爲目標的可移植.NET庫?
- 23. UINT_MIN的可移植值是什麼?
- 24. .Net Framework .resx可移植性至.Net Core
- 25. Python的rect類發生了什麼?
- 26. 可移植類庫和resx本地化
- 27. C#可移植類庫 - 使用圖像
- 28. 可移植類庫目標框架
- 29. 試圖發佈來自可移植類庫的SOAP請求
- 30. LocationResult中發生了什麼?
我的猜測是保持PCL的小,因爲你仍然可以做'ToString(「d」)'。 – cadrell0
謝謝你的幫助! – Misha