我有这样的接口成员。
AppInterface.cs
ObjLocation[] ArrayLocations { get; }
App.cs
public ObjLocation[] ArrayLocations
{
get
{
return **something**;
}
}
我不知道如何完成它,或者还有另一种方法来实现数组成员。
然后它可以通过编译器。谢谢。
答案 0 :(得分:2)
好吧,你只需要返回一个数组:
public ObjLocation[] ArrLocations
{
get
{
ObjLocation[] locations = new ObjLocation[10];
// Fill in values here
return locations;
}
}
或者,如果您已经有List<ObjLocation>
,则可能会这样做:
public ObjLocation[] ArrLocations
{
get
{
return locationList.ToArray();
}
}
当我们不知道该财产的意图或您拥有的数据时,很难知道建议您为该财产机构写什么。
如果调用者更改了数组内容,您应该仔细考虑 very 的一件事情。如果你的类中有一个数组而你只是返回对它的引用,那么调用者就可以搞乱你的数据 - 可能不是你想要的。没有办法返回“只读”数组,因为没有这样的概念 - 这是他们considered somewhat harmful的一个原因。 (如果界面指定您必须返回IList<ObjLocation>
或IEnumerable<ObjLocation>
,那就更好了。)
如果这还不足以解决您的问题,请提供更多信息。
答案 1 :(得分:1)
return new ObjLocation[size]
或return new ObjLocation[] { objLocationInstance1, objLocationInstance2, ... }