gpt4 book ai didi

c# - 如何更好地实现

转载 作者:行者123 更新时间:2023-11-30 23:14:08 26 4
gpt4 key购买 nike

我创建了一个服务,它从不同的 API 获取一些信息。每个 API 都使用语言列表,一些语言是通用的,一些是针对具体 API 的。我创建了一个具有通用方法的接口(interface)来调用 API。

public interface IOCR
{
Task<OCRResult> GetTextAsync(string fileUrl, Language language);
}

其中语言是枚举:

public enum Language
{
Chinese_Simplified,
Chinese_Traditional,
Danish,
Dutch,
....
}

但是第一个 API 也有俄语,例如第二个 API 有德语。如何正确实现?

选项 1:创建所有语言的完整列表。但是客户端应用程序不知道是否支持该语言。

选项 2:传递简单的字符串而不是枚举。但是我们应该知道哪些字符串对具体 API 有效。

用基本枚举然后传递继承的枚举会很好,但是枚举不允许继承

最佳答案

除了 GetTextAsync 之外,还在您的接口(interface)中添加另一个名为 GetLanguages 的方法,它返回一个 Language[],这样调用者就可以询问关于它在运行时支持的语言的 API。这样做的额外好处是可以在未来轻松扩展您的 API,而无需在服务端进行任何修改。

关于c# - 如何更好地实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43309526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com