gpt4 book ai didi

c# - 构造类的属性只能在构造函数中设置,但在哪里?

转载 作者:太空狗 更新时间:2023-10-29 22:23:02 25 4
gpt4 key购买 nike

我正在尝试创建一个类,它在其构造函数中将值 a 作为参数。它有一个私有(private)成员变量来存储这个值。之后不应更改该值。

这是我所拥有的,它有效,但我认为这不是最好的解决方案:

internal class Foo
{
private int a;
public int A
{
get
{
return this.a;
}
}

public Foo(int a)
{
this.a = a;
}
}

所以这样你就不能从类的外部访问aA-property 只有一个get 方法。但是,您仍然可以从类内部更改 a,并使用只返回一个变量而没有其他任何东西的属性感觉很愚蠢。

我这样做是否正确,或者是否有改进我的代码的方法/更正确的方法来做到这一点?

最佳答案

另外声明你的私有(private)字段readonly你在那里!

public class Foo
{
public Foo(int bar)
{
this.bar = bar;
}

public int Bar
{
get
{
return bar;
}
}
private readonly int bar;
}

关于c# - 构造类的属性只能在构造函数中设置,但在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15720306/

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