ObjectExtensions.old.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Newtonsoft.Json;
  7. namespace Masuit.Tools
  8. {
  9. public static partial class ObjectExtensions
  10. {
  11. #region Map
  12. /// <summary>
  13. /// 映射到目标类型(浅克隆)
  14. /// </summary>
  15. /// <param name="source">源</param>
  16. /// <typeparam name="TDestination">目标类型</typeparam>
  17. /// <returns>目标类型</returns>
  18. [Obsolete("请使用Clone")]
  19. public static TDestination MapTo<TDestination>(this object source)
  20. where TDestination : new()
  21. {
  22. return source.Clone<TDestination>();
  23. }
  24. /// <summary>
  25. /// 映射到目标类型(深克隆)
  26. /// </summary>
  27. /// <param name="source">源</param>
  28. /// <typeparam name="TDestination">目标类型</typeparam>
  29. /// <returns>目标类型</returns>
  30. [Obsolete("请使用DeepClone")]
  31. public static TDestination Map<TDestination>(this object source)
  32. where TDestination : new()
  33. {
  34. return source.DeepClone<TDestination>();
  35. }
  36. /// <summary>
  37. /// 映射到目标类型(浅克隆)
  38. /// </summary>
  39. /// <param name="source">源</param>
  40. /// <typeparam name="TDestination">目标类型</typeparam>
  41. /// <returns>目标类型</returns>
  42. [Obsolete("请使用CloneAsync")]
  43. public static Task<TDestination> MapToAsync<TDestination>(this object source)
  44. where TDestination : new()
  45. {
  46. return Task.Run(() =>
  47. {
  48. return source.Clone<TDestination>();
  49. });
  50. }
  51. /// <summary>
  52. /// 映射到目标类型(深克隆)
  53. /// </summary>
  54. /// <param name="source">源</param>
  55. /// <typeparam name="TDestination">目标类型</typeparam>
  56. /// <returns>目标类型</returns>
  57. [Obsolete("请使用DeepCloneAsync")]
  58. public static Task<TDestination> MapAsync<TDestination>(this object source) where TDestination : new()
  59. {
  60. return source.DeepCloneAsync<TDestination>();
  61. }
  62. #endregion Map
  63. private static readonly JsonSerializerSettings defaultJsonSettings = new JsonSerializerSettings()
  64. {
  65. ReferenceLoopHandling = ReferenceLoopHandling.Ignore
  66. };
  67. /// <summary>
  68. /// 转换成json字符串
  69. /// </summary>
  70. /// <param name="source"></param>
  71. /// <returns></returns>
  72. [Obsolete("请改用ToJsonExt")]
  73. public static string ToJsonString(this object source)
  74. {
  75. return source.ToJsonExt(ObjectExtensions.defaultJsonSettings);
  76. }
  77. }
  78. }