我知道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相关问答推荐

实体框架核心:DBCommand执行得更快,但总时间要慢10倍

JWT 和 Google 在 Razor 页面中进行身份验证和授权

如何从 ASP.NET 中的代码隐藏文件访问 IFRAME?

逐步 ASP.NET 自动构建/部署

系统日期时间?与 System.DateTime

部署后 ASP.Net Core Identity 登录状态丢失

WebAPI 请求流支持

多行文本框多个换行符

'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册.

返回 IHttpActionResult vs IEnumerable vs IQueryable

如何在asp.net mvc的html.actionlink中调用javascript函数?

根据 DropDownList 的值动态启用或禁用RequiredFieldValidator

由 UpdatePanel 内 GridView 内的 LinkBut​​ton 触发的完整回发

当.NET抛出WebException((400)错误请求)时如何处理WebResponse?

投票有什么问题?

如何进入 IIS 管理器?

ASP.NET 发布try 复制不存在的文件

ASP.NET MVC NonAction 含义

我可以在加载事件时从 C# 的 div 标记中动态添加 HTML 吗?

在 Visual Studio 2013 中更改项目端口号