gpt4 book ai didi

c# - 是否有任何属性默认值初始值设定项属性?

转载 作者:行者123 更新时间:2023-12-03 22:38:02 25 4
gpt4 key购买 nike

我需要这样

public class AA{
public AA(){}
[Default("hi")]
public string value1{get;set}
[Default(12)]
public int value2{get;set;}
}

用法:

AA a=new AA();
print(a.value1); //result: hi
print(a.value2); //result: 12

可以这样创建吗?

我知道另一种方法

Public class AA{
public AA(){value1="hi";value2=12}
...
}

否则

AA a=new AA(){value1="hi",value2=12};

但我只需要属性。

最佳答案

不,但您可以在无参数构造函数中轻松初始化它们。

public class AA
{
public AA()
{
// default values
Value1 = "hi";
Value2 = 12;
}

public string Value1 {get;set}
public int Value2 {get;set;}
}

或者,不使用自动实现的属性,而是使用实际属性并将支持字段初始化为默认值。

public class AA
{
private string _value1 = "hi";
public string Value1
{ get { return _value1; } }
{ set { _value1 = value; } }

private int _vaule2 = 12;
public int Value2
{ get { return _value2; } }
{ set { _value2 = value; } }
}

使用 Visual Studio 代码片段创建具有实际支持字段的属性并不是什么大问题。通过在 VS 中输入 prop 并按 Tab 键,您可以获得读/写属性的完整代码段。

[编辑]另请检查此线程:How do you give a C# Auto-Property a default value?

[另一个编辑]如果您认为这会使其更具可读性,请检查以下链接:它是一个 get/set 代码片段,它将生成具有必要支持字段的属性,并自动添加周围有一个 #region block 来折叠代码:Snippets at CodePlex (奥马尔·范·克洛滕)。下载并检查
获取+设置属性(prop)
片段。

关于c# - 是否有任何属性默认值初始值设定项属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1657680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com