【发布时间】:2011-06-19 06:58:22
【问题描述】:
只是想知道...
有什么理由不使用受保护的属性吗?
我的意思是不要使用这个:
public abstract class Foo
{
protected Bar { get; private set; }
}
使用这个:
public abstract class Foo
{
private Bar _bar;
protected Foo(Bar bar)
{
_bar = bar;
}
protected GetBar()
{
return _bar;
}
}
【问题讨论】:
-
第二个是完全有效的Java;因此,如果您看到这样的 C# 代码,最可能的原因是它是由尚未真正适应 C# 的 Java 程序员编写的。
-
您使用
protected来获取可访问性,它与属性无关。