我读过自动实现的属性不能只读或只写。它们只能读写。
然而,在学习界面时我遇到了foll。代码,它创建只读/只写和读写类型的自动属性。这是可以接受的吗?
public interface IPointy
{
// A read-write property in an interface would look like:
// retType PropName { get; set; }
// while a write-only property in an interface would be:
// retType PropName { set; }
byte Points { get; }
}
这不是自动实现的。接口不包含实现。
这是一个声明,该接口IPointy
需要类型的属性byte
, named Points
,带有公共吸气剂.
只要有公共 getter,您就可以以任何必要的方式实现该接口;是否通过自动属性:
public class Foo: IPointy
{
public byte Points {get; set;}
}
请注意,setter 仍然可以是私有的:
public class Bar: IPointy
{
public byte Points {get; private set;}
}
或者,您可以显式编写一个 getter:
public class Baz: IPointy
{
private byte _points;
public byte Points
{
get { return _points; }
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)