From 8aa019880dbb8305c7dd184b9025969e40f7bb21 Mon Sep 17 00:00:00 2001 From: nenoNaninu Date: Thu, 15 Jan 2026 01:09:08 +0900 Subject: [PATCH] support partial interface --- .../RoslynExtensions.TypeCollector.cs | 2 ++ .../IUnaryHub.cs | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/TypedSignalR.Client.TypeScript/RoslynExtensions.TypeCollector.cs b/src/TypedSignalR.Client.TypeScript/RoslynExtensions.TypeCollector.cs index 55c009a..f6a57f8 100644 --- a/src/TypedSignalR.Client.TypeScript/RoslynExtensions.TypeCollector.cs +++ b/src/TypedSignalR.Client.TypeScript/RoslynExtensions.TypeCollector.cs @@ -68,6 +68,7 @@ public static IReadOnlyList GetAttributeAnnotatedTypes(this Co return attributes.Any(a => SymbolEqualityComparer.Default.Equals(a.AttributeClass, attributeSymbol)); }) + .Distinct(SymbolEqualityComparer.Default) .ToArray(); return types; @@ -100,6 +101,7 @@ public static IReadOnlyList GetAttributeAnnotatedTypes( return false; }) + .Distinct(SymbolEqualityComparer.Default) .ToArray(); return types; diff --git a/tests/TypedSignalR.Client.TypeScript.Tests.Shared/IUnaryHub.cs b/tests/TypedSignalR.Client.TypeScript.Tests.Shared/IUnaryHub.cs index 87d8d98..bb8baea 100644 --- a/tests/TypedSignalR.Client.TypeScript.Tests.Shared/IUnaryHub.cs +++ b/tests/TypedSignalR.Client.TypeScript.Tests.Shared/IUnaryHub.cs @@ -43,11 +43,15 @@ public class MyResponseItem2 } [Hub] -public interface IUnaryHub +public partial interface IUnaryHub { Task Get(); Task Add(int x, int y); Task Cat(string x, string y); +} + +public partial interface IUnaryHub +{ Task Echo(UserDefinedType instance); Task EchoMyEnum(MyEnum myEnum); Task RequestArray(MyRequestItem[] array);