添加自定义代码

以 Markdown 格式查看

本页面介绍如何为你的 .NET SDK 添加自定义逻辑和方法。

添加自定义逻辑

开始添加自定义代码:

1

创建一个新文件并添加你的自定义逻辑

src/YourNamespace/Helper.cs
1namespace YourNamespace;
2
3public static class Helper
4{
5 public static void MyHelper()
6 {
7 Console.WriteLine("Hello World!");
8 }
9}
2

将你的文件添加到 .fernignore

.fernignore
1# Specify files that shouldn't be modified by Fern
2
3src/YourNamespace/Helper.cs
3

使用辅助函数

Now your users can consume the helper function by importing it from the SDK.

1using YourNamespace;
2
3Helper.MyHelper();

添加自定义 SDK 方法

Fern also allows you to add custom methods to the SDK itself (e.g. client.my_method() ) by inheriting the Fern generated client and then extending it.

1

更新 generators.yml 配置

将你的 Fern 生成的客户端命名为类似 BaseClient 的名称,以反映该客户端将被扩展。

generators.yml
1- name: fernapi/fern-csharp-sdk
2 version: 2.65.0
3 config:
4 client-class-name: BaseClient
2

导入并扩展生成的客户端

首先,导入 Fern 生成的基础客户端并扩展它。然后,添加你需要的任何方法。

src/YourNamespace/MyClient.cs
1namespace YourNamespace;
2
3public class MyClient : BaseClient
4{
5 public MyClient(ClientOptions? clientOptions = null) : base(clientOptions)
6 {
7 }
8
9 public void MyHelper()
10 {
11 Console.WriteLine("Hello World!");
12 }
13}
3

更新 .fernignore

MyClient.cs 添加到 .fernignore

.fernignore
1+ src/YourNamespace/MyClient.cs
4

使用方法

用户将构造扩展的客户端,而不是生成的客户端。

1using YourNamespace;
2
3var client = new MyClient();

Now your users can consume the helper function by importing it from the SDK.

1client.MyHelper();