fix(helper) : 修复 EmitHelper 未正确处理值类型返回值的Task方法

This commit is contained in:
fengjiayi
2026-01-27 18:00:16 +08:00
parent 68effa552a
commit 57894d06e7
2 changed files with 3 additions and 3 deletions

View File

@@ -16,7 +16,7 @@
<SatelliteResourceLanguages>no</SatelliteResourceLanguages> <SatelliteResourceLanguages>no</SatelliteResourceLanguages>
<Optimize>true</Optimize> <Optimize>False</Optimize>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles> <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
@@ -90,7 +90,7 @@
<!--<ProjectReference Include="..\Serein.Library.MyGenerator\Serein.Library.NodeGenerator.csproj " OutputItemType="Analyzer" />--> <!--<ProjectReference Include="..\Serein.Library.MyGenerator\Serein.Library.NodeGenerator.csproj " OutputItemType="Analyzer" />-->
<!-- ReferenceOutputAssembly="false" --> <!-- ReferenceOutputAssembly="false" -->
<!--<ProjectReference Include="..\Serein.Library.MyGenerator\Serein.Library.NodeGenerator.csproj " OutputItemType="Analyzer" />--> <!--<ProjectReference Include="..\Serein.Library.MyGenerator\Serein.Library.NodeGenerator.csproj " OutputItemType="Analyzer" />-->
<ProjectReference Include="..\Serein.Library.NodeGenerator\Serein.Library.NodeGenerator.csproj" OutputItemType="Analyzer"/> <ProjectReference Include="..\Serein.Library.NodeGenerator\Serein.Library.NodeGenerator.csproj" OutputItemType="Analyzer" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -206,7 +206,7 @@ namespace Serein.Library.Utils
il.Emit(isStatic ? OpCodes.Call : OpCodes.Callvirt, methodInfo); il.Emit(isStatic ? OpCodes.Call : OpCodes.Callvirt, methodInfo);
// 如果是泛型Task // 如果是泛型Task
if (isTaskGeneric && taskResultType is not null) if (isTaskGeneric && methodInfo.ReturnType.IsValueType && taskResultType is not null)
{ {
var convertMethod = typeof(EmitHelper) var convertMethod = typeof(EmitHelper)
.GetMethod(nameof(ConvertTaskResult), .GetMethod(nameof(ConvertTaskResult),