【发布时间】:2022-01-11 21:25:38
【问题描述】:
我在尝试使用 IConfiguration 时遇到了一个奇怪的问题。 我的代码如下:
public class testconfigtests
{
public void DoTest()
{
var testClass = new TestClass()
{
Name = "hello"
};
var config = new Dictionary<string, string>()
{
{ "Section1:section2", JsonSerializer.Serialize(testClass) }
};
var configuration = new ConfigurationBuilder()
.AddInMemoryCollection(config)
.Build();
var testConfig = new GetTestClassConfig<TestClass>();
var c = testConfig.GetTestAsync(configuration);
// c is always null
}
}
public class TestClass
{
public string Name { get; set; }
}
public class GetTestClassConfig<T>
{
public T GetTestAsync(IConfiguration configuration)
{
var section = configuration.GetSection("Section1:section2");
return section.Get<T>();
}
}
我遇到的问题是result 始终为空。我的理解是 config.Get 会返回该类的序列化版本,但它只返回 null。
【问题讨论】:
标签: c# configuration