【发布时间】:2016-10-10 10:34:31
【问题描述】:
我正在阅读WebHostBuilder.cs 课程。
我不清楚为什么private readonly IHostingEnvironment _hostingEnvironment;
在构造函数中被实例化为_hostingEnvironment = new HostingEnvironment();
这里是(为了简洁而修改)代码:
public class WebHostBuilder
{
private readonly IHostingEnvironment _hostingEnvironment;
public WebHostBuilder()
{
_hostingEnvironment = new HostingEnvironment();
}
}
更新
我发现这个问题很有用。 Cast interface to its concrete implementation object or vice versa?
【问题讨论】:
-
readonly 只是意味着,在修改此成员时无法访问。因此,如果一个类有一个具有名称的自定义类型的只读成员,那么您可以将名称设置为具有只读成员的类实例的新值,但您不能分配只读将自身成员添加到新值
-
究竟是什么不清楚?你对这段代码的期望是什么?
-
我也不明白这个问题。您希望在哪里 else 设置该值?我猜你必须设置一个值,如果你想(而且你肯定想)在访问该字段时避免 NullReferenceException。
-
伙计们,我想他在问为什么
IHostingEnvironment类型的变量是用HostingEnvironment实例化的?也许他需要阅读接口和具体类型。 -
或者您是否感到困惑,为什么初始化不只是代替声明发生,所以您将字段声明为
private readonly IHostingEnvironment _hostingEnvironment = new HostingEnvironment();
标签: c# asp.net .net asp.net-mvc