我正在使用Core 2.0中的接口IOptions:
public interface IOptions<out TOptions> where TOptions : class, new()
在我的Startup.cs中,我可以连接它up,
// Example #1: Basic options
// Register the ConfigurationBuilder instance which MyOptions binds against.
services.Configure<MyOptions>(Configuration);
private readonly MyOptions _options;
_options = optionsAccessor.Value;
我想知道的是框架如何知道应该是什么价值? “价值”在哪里分配?它看起来与财产中的价值不同。这里的值是一个全班引用。
答案 0 :(得分:1)
为了检查Options
的深度实现,您可以下载Options并调试项目。
框架如何知道应该是什么价值?
配置Options
时,您已按services.Configure<MyOptions>(Configuration)
传递了类型,MyOptions
将传递到通用类型TOptions
。
它与财产中的价值不同,它出现了。这里Value是一个全班引用。
Tha Value
是TOptions
类型,由OptionsManager返回。
public TOptions Value
{
get
{
return Get(Options.DefaultName);
}
}
&#34;价值&#34;分配?
Value
将由ConfigureNamedOptions配置并由OptionsFactory创建,然后您可以OptionsManager
访问它。