我知道C#3.0有一个自动实现属性的新特性,我喜欢它,因为我们不需要在这个属性中声明额外的私有变量(与之前的属性相比),之前我使用了一个属性,即.

private bool isPopup = true;
public bool IsPopup
{
    get
    {
      return isPopup;
    }
    set
    {
      isPopup = value;
    }
}

现在我已经将其转换为自动实现的属性,即

public bool IsPopup
{
    get; set;
}

我想将这个属性的默认值设置为true而不使用它,即使在page_init方法中也不使用,我try 了但没有成功,有谁能解释一下如何做到这一点吗?

推荐答案

您可以在默认构造函数中初始化该属性:

public MyClass()
{
   IsPopup = true;
}

使用C#6.0,可以像普通成员字段一样在声明中初始化属性:

public bool IsPopup { get; set; } = true;  // property initializer

现在甚至可以创建一个真正的只读自动属性,可以直接初始化,也可以在构造函数中初始化,但不能在类的其他方法中设置.

public bool IsPopup { get; } = true;  // read-only property with initializer

Asp.net相关问答推荐

ASP.NET MVC项目中的产品采购并发性测试

Windows 命令行中的/p:是什么意思

分层架构中的 ASP.NET 和实体框架 - 仅将实体框架用于 ORM

如何在 ASP.​NET Core 中使用 jquery

*不*使用 asp.net 会员提供程序是个坏主意吗?

你能从请求变量中确定时区吗?

登录成功后 User.Identity.IsAuthenticated 为 false

ASP.NET-MVC 中的表单发布上的 FormCollection 为空

异步编程与线程有什么不同?

如何使用自动生成的列隐藏 ASP.NET GridView 中的列?

ASP.Net 自定义客户端验证

对于每个请求,RestClient 应该是单例还是新的

在 asp.net 中将 JSON 转换为 .Net 对象时出错

等价于 ASP.NET Core 中的 Html.RenderAction

Owin.IAppBuilder不包含MapSignalR的定义

如何从 NuGet 安装 EntityFramework 5.0(和其他旧版本)?

如何通过 Google 图表 API 使用 X 轴中的日期?

如何获取程序集的最后修改日期?

elmah:没有 HttpContext 的异常?

Visual Studio 2013 ASP.NET 项目中 Antlr 包的用途是什么?