Reputation: 1309
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
Reputation: 4862
Your Attribute class lacks the required visibility.
change the class definition to either
public class Attribute
{
or
internal class Attribute
{
Upvotes: 2
Reputation: 6009
I think the problem is that you have declared the property as private
. Try making it as protected
or public
.
Upvotes: 0
Reputation: 10588
Did you include the following?
using System; using System.Collections.Generic;
The class compiles fine on my box... :)
Upvotes: -1
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