From 2f4a940cd7843ed0c33afa19d006e489b7cf283a Mon Sep 17 00:00:00 2001 From: "FAREAST\\chunyu" Date: Wed, 16 Oct 2024 09:27:45 +0800 Subject: [PATCH] check the implements to identify if it is ClientOptions --- .../src/StubLibraryVisitor.cs | 4 +++- .../src/Providers/ClientOptionsProvider.cs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel.StubLibrary/src/StubLibraryVisitor.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel.StubLibrary/src/StubLibraryVisitor.cs index 8b4acc91c2..f93fe22002 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel.StubLibrary/src/StubLibraryVisitor.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel.StubLibrary/src/StubLibraryVisitor.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; +using System.ClientModel.Primitives; using System.Collections.Generic; using System.Linq; using Microsoft.Generator.CSharp.ClientModel.Providers; @@ -39,7 +40,8 @@ internal class StubLibraryVisitor : ScmLibraryVisitor return null; } - if (type is ClientOptionsProvider clientOptions) + /* remove constructors for ClientOptions */ + if (type.Implements.Any(i => i.Equals(typeof(ClientPipelineOptions)))) { type.Update(constructors: []); } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel/src/Providers/ClientOptionsProvider.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel/src/Providers/ClientOptionsProvider.cs index c5928dca91..7d20070968 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel/src/Providers/ClientOptionsProvider.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel/src/Providers/ClientOptionsProvider.cs @@ -14,7 +14,7 @@ namespace Microsoft.Generator.CSharp.ClientModel.Providers { - public class ClientOptionsProvider : TypeProvider + internal class ClientOptionsProvider : TypeProvider { private const string LatestVersionFieldName = "LatestVersion"; private const string VersionPropertyName = "Version";