静态类中实例化Configuration配置并设置全局变量的问题求助
解决方案
你的问题出在静态类的字段初始化代码块中只能使用赋值表达式,无法直接执行属性赋值、方法调用这类语句。以下是两种可行的解决方式:
方法一:使用静态构造函数
静态构造函数会在类第一次被访问时自动执行,专门用于静态成员的初始化逻辑,完全适配你的场景:
public static class Globals { static Configuration config; static AccountApi apiInstance; public static List<string> listing = []; // 静态构造函数,自动执行初始化逻辑 static Globals() { config = new Configuration(); config.BasePath = "https://api.gateio.ws/api/v4"; config.SetGateApiV4KeyPair("abc", "abc"); apiInstance = new AccountApi(config); } }
方法二:结合对象初始化器与链式调用(仅当方法支持时)
如果SetGateApiV4KeyPair方法是链式设计(即返回Configuration自身),可以简化成字段初始化表达式:
public static class Globals { // 用对象初始化器设置BasePath,再链式调用方法完成配置 static Configuration config = new Configuration { BasePath = "https://api.gateio.ws/api/v4" }.SetGateApiV4KeyPair("abc", "abc"); static AccountApi apiInstance = new AccountApi(config); public static List<string> listing = []; }
注意:如果
SetGateApiV4KeyPair返回void,这种方式不可用,此时优先选择静态构造函数方案。
内容的提问来源于stack exchange,提问作者Nicolas Rey
相关产品推荐
相关产品推荐

