为了账号安全,请及时绑定邮箱和手机立即绑定

如何在.Net Core中的配置实例中添加扩展方法?

如何在.Net Core中的配置实例中添加扩展方法?

C#
守着星空守着你 2021-05-01 10:07:10
注意 这个问题不是关于如何实现扩展方法的。在传入的IConfiguration实例中,我可以使用以下语法从我的appsettings.json访问连接字符串。string azureDb = Configuration.GetConnectionString("azure");我在另一部分中存储了一堆其他的应用程序参数。这些可以通过以下语法访问。string server = Configuration.GetSection("Smtp")["server"];我想设置一个扩展方法,以便可以按照与连接字符串相同的方式选择设置。因此,我建立了一个包含以下内容的课程。public static class Extension{  public static string GetSmtpServer(this IConfiguration configuration)  {    return configuration.GetSection("Smtp")["server"];  }}但是,这将不起作用,因为无法将扩展方法分配给接口。我应该如何进行?由于类Extension是静态的,因此我也感觉到一个问题。我注意到将东西注入静态构造函数有点麻烦。是否可以像在连接字符串中那样添加我自己的自定义?如何?
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

扩展方法对于this指向接口是完全有效的。但是,您需要确保实现接口的对象是实际实例,否则NullReferenceException将发生。


查看完整回答
反对 回复 2021-05-08
?
莫回无

TA贡献1865条经验 获得超7个赞

我认为您做错了什么,然后先尝试使用[]语法。

它应该像这样工作:

return configuration["Smtp:server"];


查看完整回答
反对 回复 2021-05-08
  • 2 回答
  • 0 关注
  • 203 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信