diff --git a/src/NSExt/ByteExtensions.cs b/src/NSExt/Extensions/ByteExtensions.cs
similarity index 95%
rename from src/NSExt/ByteExtensions.cs
rename to src/NSExt/Extensions/ByteExtensions.cs
index 5510a07..bbb88f4 100644
--- a/src/NSExt/ByteExtensions.cs
+++ b/src/NSExt/Extensions/ByteExtensions.cs
@@ -1,4 +1,4 @@
-namespace NSExt;
+namespace NSExt.Extensions;
public static class ByteExtensions
{
diff --git a/src/NSExt/DateTimeExtensions.cs b/src/NSExt/Extensions/DateTimeExtensions.cs
similarity index 98%
rename from src/NSExt/DateTimeExtensions.cs
rename to src/NSExt/Extensions/DateTimeExtensions.cs
index 7827595..dadc7e1 100644
--- a/src/NSExt/DateTimeExtensions.cs
+++ b/src/NSExt/Extensions/DateTimeExtensions.cs
@@ -1,6 +1,6 @@
// ReSharper disable UnusedMember.Global
-namespace NSExt;
+namespace NSExt.Extensions;
public static class DateTimeExtensions
{
diff --git a/src/NSExt/DbCommandExtensions.cs b/src/NSExt/Extensions/DbCommandExtensions.cs
similarity index 97%
rename from src/NSExt/DbCommandExtensions.cs
rename to src/NSExt/Extensions/DbCommandExtensions.cs
index e34b325..679d4d6 100644
--- a/src/NSExt/DbCommandExtensions.cs
+++ b/src/NSExt/Extensions/DbCommandExtensions.cs
@@ -1,4 +1,4 @@
-namespace NSExt;
+namespace NSExt.Extensions;
public static class DbCommandExtensions
{
diff --git a/src/NSExt/DecimalExtensions.cs b/src/NSExt/Extensions/DecimalExtensions.cs
similarity index 92%
rename from src/NSExt/DecimalExtensions.cs
rename to src/NSExt/Extensions/DecimalExtensions.cs
index 1c392b7..98f312d 100644
--- a/src/NSExt/DecimalExtensions.cs
+++ b/src/NSExt/Extensions/DecimalExtensions.cs
@@ -1,4 +1,4 @@
-namespace NSExt;
+namespace NSExt.Extensions;
public static class DecimalExtensions
{
diff --git a/src/NSExt/EnumExtensions.cs b/src/NSExt/Extensions/EnumExtensions.cs
similarity index 94%
rename from src/NSExt/EnumExtensions.cs
rename to src/NSExt/Extensions/EnumExtensions.cs
index 60bf836..755e238 100644
--- a/src/NSExt/EnumExtensions.cs
+++ b/src/NSExt/Extensions/EnumExtensions.cs
@@ -1,4 +1,4 @@
-namespace NSExt;
+namespace NSExt.Extensions;
public static class EnumExtensions
{
diff --git a/src/NSExt/EnumerableExtensions.cs b/src/NSExt/Extensions/EnumerableExtensions.cs
similarity index 96%
rename from src/NSExt/EnumerableExtensions.cs
rename to src/NSExt/Extensions/EnumerableExtensions.cs
index 7b4fca8..b318029 100644
--- a/src/NSExt/EnumerableExtensions.cs
+++ b/src/NSExt/Extensions/EnumerableExtensions.cs
@@ -1,4 +1,4 @@
-namespace NSExt;
+namespace NSExt.Extensions;
public static class EnumerableExtensions
{
diff --git a/src/NSExt/GenericExtensions.cs b/src/NSExt/Extensions/GenericExtensions.cs
similarity index 97%
rename from src/NSExt/GenericExtensions.cs
rename to src/NSExt/Extensions/GenericExtensions.cs
index 6a231cd..60f2679 100644
--- a/src/NSExt/GenericExtensions.cs
+++ b/src/NSExt/Extensions/GenericExtensions.cs
@@ -1,4 +1,4 @@
-namespace NSExt;
+namespace NSExt.Extensions;
public static class GenericExtensions
{
diff --git a/src/NSExt/IntExtensions.cs b/src/NSExt/Extensions/IntExtensions.cs
similarity index 96%
rename from src/NSExt/IntExtensions.cs
rename to src/NSExt/Extensions/IntExtensions.cs
index 669877b..c39e99b 100644
--- a/src/NSExt/IntExtensions.cs
+++ b/src/NSExt/Extensions/IntExtensions.cs
@@ -1,4 +1,4 @@
-namespace NSExt;
+namespace NSExt.Extensions;
public static class IntExtensions
{
diff --git a/src/NSExt/LoggerExtensions.cs b/src/NSExt/Extensions/LoggerExtensions.cs
similarity index 99%
rename from src/NSExt/LoggerExtensions.cs
rename to src/NSExt/Extensions/LoggerExtensions.cs
index 1e280e6..bf22146 100644
--- a/src/NSExt/LoggerExtensions.cs
+++ b/src/NSExt/Extensions/LoggerExtensions.cs
@@ -1,6 +1,6 @@
// ReSharper disable TemplateIsNotCompileTimeConstantProblem
-namespace NSExt;
+namespace NSExt.Extensions;
public static class LoggerExtensions
{
diff --git a/src/NSExt/LongExtensions.cs b/src/NSExt/Extensions/LongExtensions.cs
similarity index 95%
rename from src/NSExt/LongExtensions.cs
rename to src/NSExt/Extensions/LongExtensions.cs
index b2e785c..a426526 100644
--- a/src/NSExt/LongExtensions.cs
+++ b/src/NSExt/Extensions/LongExtensions.cs
@@ -1,4 +1,4 @@
-namespace NSExt;
+namespace NSExt.Extensions;
public static class LongExtensions
{
diff --git a/src/NSExt/Extensions/ObjectExtensions.cs b/src/NSExt/Extensions/ObjectExtensions.cs
new file mode 100644
index 0000000..82c6509
--- /dev/null
+++ b/src/NSExt/Extensions/ObjectExtensions.cs
@@ -0,0 +1,33 @@
+using Newtonsoft.Json.Serialization;
+
+namespace NSExt.Extensions;
+
+public static class ObjectExtensions
+{
+ ///
+ /// 将一个对象序列化成json文本
+ ///
+ /// 指定对象
+ /// 是否格式化
+ /// json文本
+ public static string Json(this object me, bool format = false)
+ {
+ return JsonConvert.SerializeObject(me, format ? Formatting.Indented : Formatting.None);
+ }
+
+
+ ///
+ /// 将一个对象序列化成json文本(小驼峰属性名)
+ ///
+ /// 指定对象
+ /// 是否格式化
+ /// json文本
+ public static string JsonCamelCase(this object me, bool format = false)
+ {
+ return JsonConvert.SerializeObject(me,
+ new JsonSerializerSettings {
+ ContractResolver = new CamelCasePropertyNamesContractResolver(),
+ Formatting = format ? Formatting.Indented : Formatting.None
+ });
+ }
+}
diff --git a/src/NSExt/StringExtensions.cs b/src/NSExt/Extensions/StringExtensions.cs
similarity index 98%
rename from src/NSExt/StringExtensions.cs
rename to src/NSExt/Extensions/StringExtensions.cs
index 8d9e6b6..fbce59b 100644
--- a/src/NSExt/StringExtensions.cs
+++ b/src/NSExt/Extensions/StringExtensions.cs
@@ -2,11 +2,8 @@
using System.Security.Cryptography;
-using HMACMD5 = SshNet.Security.Cryptography.HMACMD5;
-using HMACSHA1 = SshNet.Security.Cryptography.HMACSHA1;
-using MD5 = SshNet.Security.Cryptography.MD5;
-namespace NSExt;
+namespace NSExt.Extensions;
public static class StringExtensions
{
@@ -280,7 +277,7 @@ public static class StringExtensions
/// hash摘要的16进制文本形式(无连字符小写)
public static string Sha1(this string me, Encoding e)
{
- using var sha1 = HashAlgorithm.Create();
+ using var sha1 = SHA1.Create();
return BitConverter.ToString(sha1.ComputeHash(e.GetBytes(me)))
.Replace("-", string.Empty)
.ToLower(CultureInfo.CurrentCulture);
@@ -311,7 +308,7 @@ public static class StringExtensions
/// hash摘要的16进制文本形式(无连字符小写)
public static string Md5(this string me, Encoding e)
{
- using var md5 = new MD5();
+ using var md5 = MD5.Create();
return BitConverter.ToString(md5.ComputeHash(e.GetBytes(me)))
.Replace("-", string.Empty)
.ToLower(CultureInfo.CurrentCulture);
diff --git a/src/NSExt/UriExtensions.cs b/src/NSExt/Extensions/UriExtensions.cs
similarity index 90%
rename from src/NSExt/UriExtensions.cs
rename to src/NSExt/Extensions/UriExtensions.cs
index f72bb70..8fbf8a5 100644
--- a/src/NSExt/UriExtensions.cs
+++ b/src/NSExt/Extensions/UriExtensions.cs
@@ -1,4 +1,4 @@
-namespace NSExt;
+namespace NSExt.Extensions;
public static class UriExtensions
{
diff --git a/src/NSExt/GlobalUsings.cs b/src/NSExt/GlobalUsings.cs
index ccb8554..a354645 100644
--- a/src/NSExt/GlobalUsings.cs
+++ b/src/NSExt/GlobalUsings.cs
@@ -9,4 +9,3 @@ global using System.Web;
global using Newtonsoft.Json;
global using Newtonsoft.Json.Linq;
global using System.ComponentModel;
-global using SshNet.Security.Cryptography;
diff --git a/src/NSExt/NSExt.csproj b/src/NSExt/NSExt.csproj
index 4e0693b..61b915d 100644
--- a/src/NSExt/NSExt.csproj
+++ b/src/NSExt/NSExt.csproj
@@ -8,14 +8,13 @@
-
+
-
+
-
-
+
diff --git a/src/NSExt/ObjectExtensions.cs b/src/NSExt/ObjectExtensions.cs
deleted file mode 100644
index fa1cd85..0000000
--- a/src/NSExt/ObjectExtensions.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace NSExt;
-
-public static class ObjectExtensions
-{
- ///
- /// 将一个对象序列化成json文本
- ///
- /// 指定对象
- /// 是否格式化
- /// json文本
- public static string Json(this object me, bool format = false)
- {
- return JsonConvert.SerializeObject(me, format ? Formatting.Indented : Formatting.None);
- }
-}