XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension

【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFEExtension

转为三元运算符

de68aea
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

9 个文件 +47 -106
Modified XFEExtension.NetCore/PermissionExtension/AdministratorPermission.cs +1 -4
@@ -51,10 +51,7 @@ public static class AdministratorPermission
51 51 static AdministratorPermission()
52 52 {
53 53 var isAdmin = IsAdministrator();
54 if (isAdmin)
55 PermissionState = CurrentPermissionState.Administration;
56 else
57 PermissionState = CurrentPermissionState.Normal;
54 PermissionState = isAdmin ? CurrentPermissionState.Administration : CurrentPermissionState.Normal;
58 55 }
59 56 }
60 57 #endif
Modified XFEExtension.NetCore/StringExtension/StringExtension.cs +1 -9
@@ -360,15 +360,7 @@ public static partial class StringExtension
360 360 /// <returns>分割后的带分割器字符串数组</returns>
361 361 public string[] SplitAndKeepDelimiter(string[] delimiter, bool removeEmptyString)
362 362 {
363 string[] result;
364 if (removeEmptyString)
365 {
366 result = str.Split(delimiter, StringSplitOptions.RemoveEmptyEntries);
367 }
368 else
369 {
370 result = str.Split(delimiter, StringSplitOptions.None);
371 }
363 var result = str.Split(delimiter, removeEmptyString ? StringSplitOptions.RemoveEmptyEntries : StringSplitOptions.None);
372 364 for (var i = 0; i < result.Length - 1; i++)
373 365 {
374 366 result[i] += delimiter;
Modified XFEExtension.NetCore/WebExtension/LANDeviceDetector/LANDeviceDetector.cs +1 -4
@@ -44,10 +44,7 @@ public class LANDeviceDetector
44 44 if(iPStart == "default")
45 45 {
46 46 var localIPAddress = WebExtension.GetLocalIPAddress();
47 if (localIPAddress is not null)
48 IPStart = $"{string.Join(".", localIPAddress.ToString().Split('.')[..3])}.*";
49 else
50 IPStart = "192.168.1.*";
47 IPStart = localIPAddress is not null ? $"{string.Join(".", localIPAddress.ToString().Split('.')[..3])}.*" : "192.168.1.*";
51 48 }
52 49 else
53 50 {
Modified XFEExtension.NetCore/XFEChatGPT/XFEChatGPT.cs +1 -9
@@ -212,15 +212,7 @@ public class XFEChatGPT : XFEChatGPTBase
212 212 var receivedMessage = string.Empty;
213 213 try
214 214 {
215 string? command;
216 if (apiKeyCommand == ApiKeyCommand.GetApiKey)
217 {
218 command = "[获取]";
219 }
220 else
221 {
222 command = commandString;
223 }
215 var command = apiKeyCommand == ApiKeyCommand.GetApiKey ? "[获取]" : commandString;
224 216 ClientWebSocket webSocket = new();
225 217 webSocket.Options.SetRequestHeader("XFEPassword", password);
226 218 await webSocket.ConnectAsync(new Uri("ws://api.xfegzs.com/"), CancellationToken.None);
Modified XFEExtension.NetCore/XFETransform/StringConverter/FormattedJsonTransformer.cs +9 -17
@@ -74,8 +74,8 @@ public class FormattedJsonTransformer : StringConverter
74 74 {
75 75 if (objectInfo.IsArray)
76 76 {
77 outPutString += objectInfo.SubObjects is not null ? $$"""
78 [{{OutPutSubObjects(objectInfo.SubObjects)}}
77 outPutString += objectInfo.SubObjects is not null ? $"""
78 [{OutPutSubObjects(objectInfo.SubObjects)}
79 79 ]
80 80 """ : "null";
81 81 }
@@ -112,15 +112,7 @@ public class FormattedJsonTransformer : StringConverter
112 112 tabString += " ";
113 113 }
114 114 outString += "\n" + tabString;
115 string? currentConnectString;
116 if (i == subObjects.Count - 1)
117 {
118 currentConnectString = "";
119 }
120 else
121 {
122 currentConnectString = ",";
123 }
115 var currentConnectString = i == subObjects.Count - 1 ? "" : ",";
124 116 if (obj.IsBasicType || obj.ObjectPlace == ObjectPlace.Enum)
125 117 {
126 118 outString += obj.OutPutObject();
@@ -129,15 +121,15 @@ public class FormattedJsonTransformer : StringConverter
129 121 else
130 122 {
131 123 if (IsEnumerableClassMember(obj))
132 outString += obj.Value is not null ? $$"""
133 {{tabString}}"{{obj.Name}}": [{{OutPutObject(obj)}}
134 {{tabString}}]{{currentConnectString}}
124 outString += obj.Value is not null ? $"""
125 {tabString}"{obj.Name}": [{OutPutObject(obj)}
126 {tabString}]{currentConnectString}
135 127 """ : "null";
136 128 else if (IsEnumerableMember(obj))
137 129 if (obj.Value is not null && (obj.Type!.IsAssignableTo(typeof(IEnumerable)) || obj.Type.IsAssignableTo(typeof(Array))))
138 outString += obj.Value is not null ? $$"""
139 {{tabString}}[{{OutPutObject(obj)}}
140 {{tabString}}]{{currentConnectString}}
130 outString += obj.Value is not null ? $"""
131 {tabString}[{OutPutObject(obj)}
132 {tabString}]{currentConnectString}
141 133 """ : "null";
142 134 else
143 135 outString += obj.Value is not null ? $$"""
Modified XFEExtension.NetCore/XFETransform/StringConverter/JsonTransformer.cs +7 -15
@@ -73,8 +73,8 @@ public class JsonTransformer : StringConverter
73 73 {
74 74 if (objectInfo.IsArray)
75 75 {
76 outPutString += objectInfo.SubObjects is not null ? $$"""
77 [{{OutPutSubObjects(objectInfo.SubObjects)}}]
76 outPutString += objectInfo.SubObjects is not null ? $"""
77 [{OutPutSubObjects(objectInfo.SubObjects)}]
78 78 """ : "null";
79 79 }
80 80 else
@@ -103,15 +103,7 @@ public class JsonTransformer : StringConverter
103 103 for (var i = 0; i < subObjects.Count; i++)
104 104 {
105 105 var obj = subObjects[i];
106 string? currentConnectString;
107 if (i == subObjects.Count - 1)
108 {
109 currentConnectString = "";
110 }
111 else
112 {
113 currentConnectString = ",";
114 }
106 var currentConnectString = i == subObjects.Count - 1 ? "" : ",";
115 107 if (obj.IsBasicType || obj.ObjectPlace == ObjectPlace.Enum)
116 108 {
117 109 outString += obj.OutPutObject();
@@ -120,13 +112,13 @@ public class JsonTransformer : StringConverter
120 112 else
121 113 {
122 114 if (IsEnumerableClassMember(obj))
123 outString += obj.Value is not null ? $$"""
124 "{{obj.Name}}": [{{OutPutObject(obj)}}]{{currentConnectString}}
115 outString += obj.Value is not null ? $"""
116 "{obj.Name}": [{OutPutObject(obj)}]{currentConnectString}
125 117 """ : "null";
126 118 else if (IsEnumerableMember(obj))
127 119 if (obj.Value is not null && (obj.Type!.IsAssignableTo(typeof(IEnumerable)) || obj.Type.IsAssignableTo(typeof(Array))))
128 outString += obj.Value is not null ? $$"""
129 [{{OutPutObject(obj)}}]{{currentConnectString}}
120 outString += obj.Value is not null ? $"""
121 [{OutPutObject(obj)}]{currentConnectString}
130 122 """ : "null";
131 123 else
132 124 outString += obj.Value is not null ? $$"""
Modified XFEExtension.NetCore/XFETransform/StringConverter/ObjectAnalyzer.cs +1 -9
@@ -101,15 +101,7 @@ public class ObjectAnalyzer : StringConverter
101 101 tabString += "│ ";
102 102 }
103 103 outString += tabString;
104 string? currentConnectString;
105 if (i == subObjects.Count - 1)
106 {
107 currentConnectString = "└─";
108 }
109 else
110 {
111 currentConnectString = "├─";
112 }
104 var currentConnectString = i == subObjects.Count - 1 ? "└─" : "├─";
113 105 if (obj.IsBasicType || obj.ObjectPlace == ObjectPlace.Enum)
114 106 {
115 107 outString += currentConnectString;
Modified XFEExtension.NetCore/XFETransform/XFEJsonTransformer.cs +3 -8
@@ -93,14 +93,9 @@ public static class XFEJsonTransformer
93 93 }
94 94 else
95 95 {
96 if (property.PropertyType.IsEnum)
97 {
98 jsonProperties.Add($"\"{propertyName}\":{(int)propertyValue}");
99 }
100 else
101 {
102 jsonProperties.Add($"\"{propertyName}\":{propertyValue.ConvertToJson()}");
103 }
96 jsonProperties.Add(property.PropertyType.IsEnum
97 ? $"\"{propertyName}\":{(int)propertyValue}"
98 : $"\"{propertyName}\":{propertyValue.ConvertToJson()}");
104 99 }
105 100 }
106 101
Modified XFEExtension.NetCore/XUnit/XFECode.cs +23 -31
@@ -103,19 +103,25 @@ public abstract class XFECode
103 103 timeCounter.Stop();
104 104 cTimeCounter++;
105 105 var elapsedTime = timeCounter.Elapsed;
106 if (autoOutPut)
107 if (elapsedTime.TotalHours >= 1)
108 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间:{elapsedTime}");
109 else if (elapsedTime.TotalMinutes >= 1)
110 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {Math.Floor(elapsedTime.TotalMinutes)} 分 {elapsedTime.Seconds} 秒");
111 else if (elapsedTime.TotalSeconds >= 1)
112 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalSeconds:F3} 秒");
113 else if (elapsedTime.TotalMilliseconds >= 1)
114 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds:F3} 毫秒");
115 else if (elapsedTime.TotalMicroseconds >= 1)
116 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMicroseconds:F3} 微秒");
117 else
118 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalNanoseconds:F3} 纳秒");
106 switch (autoOutPut)
107 {
108 case true:
109 {
110 if (elapsedTime.TotalHours >= 1)
111 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间:{elapsedTime}");
112 else if (elapsedTime.TotalMinutes >= 1)
113 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {Math.Floor(elapsedTime.TotalMinutes)} 分 {elapsedTime.Seconds} 秒");
114 else if (elapsedTime.TotalSeconds >= 1)
115 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalSeconds:F3} 秒");
116 else if (elapsedTime.TotalMilliseconds >= 1)
117 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds:F3} 毫秒");
118 else if (elapsedTime.TotalMicroseconds >= 1)
119 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMicroseconds:F3} 微秒");
120 else
121 Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalNanoseconds:F3} 纳秒");
122 break;
123 }
124 }
119 125 return elapsedTime;
120 126 }
121 127 /// <summary>
@@ -343,10 +349,7 @@ public abstract class XFECode
343 349 catch (Exception e)
344 350 {
345 351 isSuccessful = false;
346 if (e.InnerException is not null)
347 failedMessage = e.InnerException.Message;
348 else
349 failedMessage = e.Message;
352 failedMessage = e.InnerException is not null ? e.InnerException.Message : e.Message;
350 353 }
351 354 elapsedTime = timeCounter.Elapsed - selfTimeCounter.Elapsed;
352 355 cTimeCounter++;
@@ -429,19 +432,11 @@ public abstract class XFECode
429 432 {
430 433 var isFirstMethod = true;
431 434 var failedList = new List<MethodAndCounter>();
432 object? classInstance;
433 if (classAttribute.Params is null)
434 {
435 classInstance = subClass.GetConstructor(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance, null, [], null)?.Invoke(classAttribute.Params);
436 }
437 else
438 {
439 classInstance = subClass.GetConstructor(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance, null, classAttribute.Params.GetTypes()!, null)?.Invoke(classAttribute.Params);
440 }
435 var classInstance = classAttribute.Params is null ? subClass.GetConstructor(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance, null, [], null)?.Invoke(classAttribute.Params) : subClass.GetConstructor(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance, null, classAttribute.Params.GetTypes()!, null)?.Invoke(classAttribute.Params);
441 436 var setUpAttribute = subClass.GetAttribute<SetUpAttribute>();
442 437 if (setUpAttribute is not null)
443 438 {
444 var setUpMethod = subClass.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static).Where(m => m.IsDefined(typeof(SetUpAttribute))).FirstOrDefault();
439 var setUpMethod = subClass.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static).FirstOrDefault(m => m.IsDefined(typeof(SetUpAttribute)));
445 440 setUpMethod?.Invoke(classInstance, setUpMethod.GetDefaultParameters());
446 441 }
447 442 var classOtherName = "类名:" + subClass.Name;
@@ -659,10 +654,7 @@ public abstract class XFECode
659 654 catch (Exception e)
660 655 {
661 656 isSuccessful = false;
662 if (e.InnerException is not null)
663 failedMessage = e.InnerException.Message;
664 else
665 failedMessage = e.Message;
657 failedMessage = e.InnerException is not null ? e.InnerException.Message : e.Message;
666 658 }
667 659 elapsedTime = timeCounter.Elapsed - selfTimeCounter.Elapsed;
668 660 cTimeCounter++;