fix: address methods that return void or task in those cases return null

This commit is contained in:
Stevan Freeborn
2024-07-01 23:14:08 -05:00
parent 1ae90106b5
commit c2788c3893
3 changed files with 39 additions and 2 deletions
+4 -1
View File
@@ -1,5 +1,6 @@
using System.Reflection;
using System.Text.Json;
using System.Threading.Tasks;
using AnthropicClient.Json;
@@ -65,7 +66,9 @@ public class ToolCall
const string resultPropertyName = "Result";
var resultProperty = task.GetType().GetProperty(resultPropertyName);
result = resultProperty is not null ? (T)resultProperty.GetValue(task) : default;
var isVoidTaskResult = resultProperty.PropertyType.FullName.Contains("VoidTaskResult");
result = resultProperty is not null && isVoidTaskResult is false ? (T)resultProperty.GetValue(task) : default;
}
else
{
+1 -1
View File
@@ -6,7 +6,7 @@ namespace AnthropicClient.Models;
public class ToolCallResult<T>
{
/// <summary>
/// The value of the tool call result.
/// The value of the tool call result. Can be null if the call failed, the call was successful but the return type is void or Task, or the call was successful but the return value is null
/// </summary>
public T? Value { get; }