kaycee
kaycee

Reputation: 1309

C# - unable to return List

i'm trying to return list of objects from a class and get the following error:

Error 1 Inconsistent accessibility: property type 'System.Collections.Generic.List<EventXmlExtract.Attribute>' is less accessible than property 'EventXmlExtract.EventExtract.AttributeList' C:\Documents and Settings\eyalk\My Documents\Visual Studio 2010\Projects\Blobs\EventExtractDll\EventExtract.cs 14 32 EventExtractDll

my code tries return _attributeList:

public class EventExtract
{
    private string _type;
    private int _type_id;
    private List<Attribute> _attributeList = new List<Attribute>();

    internal List<Attribute> AttributeList
    {
        get { return _attributeList; }
        set { _attributeList = value; }
    }
}

what is the problem ? and how can i retrieve the list ?

Upvotes: 3

Views: 2941

Answers (4)

yas4891
yas4891

Reputation: 4862

Your Attribute class lacks the required visibility.

change the class definition to either

public class Attribute
{

or

internal class Attribute 
{

Upvotes: 2

JAiro
JAiro

Reputation: 6009

I think the problem is that you have declared the property as private. Try making it as protected or public.

Upvotes: 0

Erik A. Brandstadmoen
Erik A. Brandstadmoen

Reputation: 10588

Did you include the following?

using System; using System.Collections.Generic;

The class compiles fine on my box... :)

Upvotes: -1

Guffa
Guffa

Reputation: 700562

Make the class Attribute public or internal.

You can't return a list of objects where the class is private, because then the calling code can't access the objects.

Alternatively make the AttributeList as restricted as the Attribute class, if that is how you want it.

Upvotes: 7

Related Questions