需要一个用于数组接口成员的示例函数工具

时间:2010-03-09 06:24:47

标签: c# interface implementation

我有这样的接口成员。

AppInterface.cs

ObjLocation[] ArrayLocations { get; }

App.cs

public ObjLocation[] ArrayLocations
        {
            get
            {
                 return **something**;
            }
        }

我不知道如何完成它,或者还有另一种方法来实现数组成员。

然后它可以通过编译器。谢谢。

2 个答案:

答案 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, ... }