我使用以下代码注入了IConfiguration:
public class InjectorConfig
{
/// <summary>
/// configuration for DI
/// </summary>
/// <param name="services"></param>
/// <param name="configuration"></param>
public static void Init(IServiceCollection services, IConfiguration configuration)
{
services.AddSingleton<IConfiguration>(provider => configuration);
services.AddSingleton<AppSettingUtil>();
}
}
当我在名为AppSettingUtil的类中使用此代码时,IConfiguration对象会引发空指针异常。
以下是我正在使用的代码:
public class AppSettingUtil
{
public AppSettingUtil(IConfiguration configuration)
{
_configuration = configuration;
}
public IConfiguration Configuration { get; }
}
在执行下面的函数时,我遇到了空指针异常。
private static object GetDefault(string name)
{
if (_configuration[name] != null)
{
return Convert.ToInt32(_configuration[name]);
}
return null;
}
执行此函数时,对象_configuration为空,因此会抛出空指针异常。
Init
方法是否被调用了? - Scott Hannen