为什么我得到 NullReferenceException
本文关键字:NullReferenceException 为什么 | 更新日期: 2023-09-27 18:31:15
我有一个接口
public interface IConfig
{
string name { get; set; }
string address { get; set; }
int phone { get; set; }
List<string> children { get; set; }
}
这是我的配置文件,它只有三个应用程序设置,而不是像我在界面中那样有四个。
<add key="name" value="abc" />
<add key="address" value="100 Norin Street" />
<add key="phone" value="709-111-111111" />
现在在启动时,我正在使用DictionaryAdapterFactory来填写app.config文件值。我在这里成功获取了 app.config 的值。
private readonly IConfig _config;
private readonly DictionaryAdapterFactory _factory;
_factory = new DictionaryAdapterFactory();
_config = _config.GetAdapter<IConfig>(ConfigurationManager.AppSettings);
现在在运行时,我需要填写列表类型的子值。但是我得到空异常。为什么?
//loop
_config.children.Add(item.values);
这里有什么问题?
某处缺少列表初始化?
_config.children = new List<string>()
会像下面这样吗?
_config.children.AddRange(item.values);
当然,初始化也是必需的。
_config.children = new List<string>();
您在界面中将"Phone"定义为int,而AppSettings中的电话值不能转换为int。
string phone { get; set; }