跳到导航

添加自定义代码

以 Markdown 格式查看

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

These steps cover adding a new custom file to the SDK. To preserve line-level edits to a generated file, use Replay instead.

添加自定义逻辑

开始添加自定义代码:

1

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

src/YourNamespace/Helper.cs
namespace YourNamespace;
public static class Helper
{
public static void MyHelper()
{
Console.WriteLine("Hello World!");
}
}
2

将你的文件添加到 .fernignore

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

使用辅助函数

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

using YourNamespace;
Helper.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
- name: fern-csharp-sdk
version: 2.83.3
config:
client-class-name: BaseClient
2

导入并扩展生成的客户端

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

src/YourNamespace/MyClient.cs
namespace YourNamespace;
public class MyClient : BaseClient
{
public MyClient(ClientOptions? clientOptions = null) : base(clientOptions)
{
}
public void MyHelper()
{
Console.WriteLine("Hello World!");
}
}
3

更新 .fernignore

MyClient.cs 添加到 .fernignore

.fernignore
+ src/YourNamespace/MyClient.cs
4

使用方法

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

using YourNamespace;
var client = new MyClient();

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

client.MyHelper();