1
1

ObjectExtensions.old.cs 2.7 KB

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