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

XFEExtension

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

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

XFEstudio/XFEExtension

现在,无论是有返回值异步还是同步方法,均会显示结果

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

代码差异

1 个文件 +32 -8
Modified XFE各类拓展.NetCore/XFE各类拓展/XFECode.cs +32 -8
@@ -267,6 +267,7 @@ public abstract class XFECode
267 267 Console.ResetColor();
268 268 selfTimeCounter.Start();
269 269 selfTimeCounter.Stop();
270 object? result = null;
270 271 try
271 272 {
272 273 currentMethodIsAsserted = false;
@@ -276,10 +277,17 @@ public abstract class XFECode
276 277 await (Task)method.Invoke(Activator.CreateInstance(subClass), paramsForMethod)!;
277 278 timeCounter.Stop();
278 279 }
280 else if (method.ReturnType.IsGenericType && method.ReturnType.GetGenericTypeDefinition() == typeof(Task<>))
281 {
282 timeCounter.Start();
283 dynamic dynamicResult = method.Invoke(Activator.CreateInstance(subClass), paramsForMethod)!;
284 result = await dynamicResult;
285 timeCounter.Stop();
286 }
279 287 else
280 288 {
281 289 timeCounter.Start();
282 var result = method.Invoke(Activator.CreateInstance(subClass), paramsForMethod);
290 result = method.Invoke(Activator.CreateInstance(subClass), paramsForMethod);
283 291 timeCounter.Stop();
284 292 if (attribute is SMRTestAttribute resultAttribute2)
285 293 {
@@ -323,15 +331,23 @@ public abstract class XFECode
323 331 Console.Write("\t执行时间:");
324 332 Console.ForegroundColor = timeColor;
325 333 if (elapsedTime.TotalHours >= 1)
326 Console.WriteLine(elapsedTime);
334 Console.Write(elapsedTime);
327 335 else if (elapsedTime.TotalMinutes >= 1)
328 Console.WriteLine($"{elapsedTime.Minutes} 分 {elapsedTime.Seconds} 秒 {elapsedTime.Milliseconds} 毫秒");
336 Console.Write($"{elapsedTime.Minutes} 分 {elapsedTime.Seconds} 秒 {elapsedTime.Milliseconds} 毫秒");
329 337 else if (elapsedTime.TotalSeconds >= 1)
330 Console.WriteLine($"{elapsedTime.TotalSeconds:F3} 秒");
338 Console.Write($"{elapsedTime.TotalSeconds:F3} 秒");
331 339 else if (elapsedTime.TotalMilliseconds >= 1)
332 Console.WriteLine($"{elapsedTime.TotalMilliseconds:F3} 毫秒");
340 Console.Write($"{elapsedTime.TotalMilliseconds:F3} 毫秒");
333 341 else
334 Console.WriteLine($"{elapsedTime.TotalMilliseconds * 1000:F2} 纳秒");
342 Console.Write($"{elapsedTime.TotalMilliseconds * 1000:F2} 纳秒");
343 if (result is not null)
344 {
345 Console.ForegroundColor = mainColor;
346 Console.Write("\t执行结果:");
347 Console.ForegroundColor = methodColor;
348 Console.Write(result);
349 }
350 Console.WriteLine();
335 351 Console.ForegroundColor = ConsoleColor.Black;
336 352 Console.WriteLine();
337 353 if (isSuccessful && isResultEqual)
@@ -538,6 +554,13 @@ public abstract class XFECode
538 554 await (Task)method.Invoke(classInstance, paramsForMethod)!;
539 555 timeCounter.Stop();
540 556 }
557 else if (method.ReturnType.IsGenericType && method.ReturnType.GetGenericTypeDefinition() == typeof(Task<>))
558 {
559 timeCounter.Start();
560 dynamic dynamicResult = method.Invoke(classInstance, paramsForMethod)!;
561 result = await dynamicResult;
562 timeCounter.Stop();
563 }
541 564 else
542 565 {
543 566 timeCounter.Start();
@@ -594,13 +617,14 @@ public abstract class XFECode
594 617 Console.Write($"{elapsedTime.TotalMilliseconds:F3} 毫秒");
595 618 else
596 619 Console.Write($"{elapsedTime.TotalMilliseconds * 1000:F2} 纳秒");
597 Console.ForegroundColor = mainColor;
598 620 if (result is not null)
599 621 {
622 Console.ForegroundColor = mainColor;
600 623 Console.Write("\t执行结果:");
601 624 Console.ForegroundColor = methodColor;
602 Console.WriteLine(result);
625 Console.Write(result);
603 626 }
627 Console.WriteLine();
604 628 Console.ForegroundColor = ConsoleColor.Black;
605 629 Console.WriteLine();
606 630 if (isSuccessful && isResultEqual)