我有一个具有整数数组属性的类,我正在尝试为它找出正确的语法.int数组在类构造函数中实例化.
class DemoClass
{
private int[] myNumbers;
public int[] MyNumbers
{
get { /* Some logic */ }
set { /* Some logic */ }
}
public DemoClass(int elements)
{
// Here, the array should get instantiated using the elements.
}
}
Run Code Online (Sandbox Code Playgroud)
如果我希望我的客户端代码通过属性从数组中检索数字,get/set块语法如何工作MyNumbers?我怎样才能发送正确的索引?我有什么要初始化的?
Bli*_*ndy 22
你在找:
class DemoClass
{
public int[] MyNumbers { get; private set; }
public DemoClass(int elements)
{
MyNumbers = new int[elements];
}
}
Run Code Online (Sandbox Code Playgroud)
对于除了公开私有字段(您似乎想要)之外什么都不做的普通属性:
private int[] myNumbers;
public int[] MyNumbers
{
get { return myNumbers; }
set { myNumbers = value; }
}
Run Code Online (Sandbox Code Playgroud)
Der*_*son 11
CA1819:属性不应返回数组
http://msdn.microsoft.com/en-us/library/0fss9skc.aspx
即使属性是只读的,属性返回的数组也不会被写保护.为了防止数组防篡改,属性必须返回数组的副本.通常,用户不会理解调用此类属性的不利性能影响.具体来说,他们可能会将该属性用作索引属性.
要修复违反此规则的问题,请将该属性设为方法,或更改属性以返回集合而不是数组
| 归档时间: |
|
| 查看次数: |
71581 次 |
| 最近记录: |