Quelqu'un peut-il aider avec l'erreur suivante:
Accessibilité incohérente: le type de propriété 'Test.Delivery' est moins accessible que la propriété 'Test.Form1.thelivery'
private Delivery thedelivery;
public Delivery thedelivery
{
get { return thedelivery; }
set { thedelivery = value; }
}
Je ne peux pas exécuter le programme en raison du message d'erreur d'incohérence.
Voici ma classe de livraison:
namespace Test
{
class Delivery
{
private string name;
private string address;
private DateTime arrivalTime;
public string Name
{
get { return name; }
set { name = value; }
}
public string Address
{
get { return address; }
set { address = value; }
}
public DateTime ArrivlaTime
{
get { return arrivalTime; }
set { arrivalTime = value; }
}
public string ToString()
{
{ return name + address + arrivalTime.ToString(); }
}
}
}
c#
properties
David Bukera
la source
la source
public
de ma définition de classe.Votre classe
Delivery
n'a pas de modificateur d'accès, ce qui signifie qu'elle est par défautinternal
. Si vous essayez ensuite d'exposer une propriété de ce type en tant quepublic
, cela ne fonctionnera pas. Votre type (classe) doit avoir le même accès ou un accès supérieur à votre propriété.En savoir plus sur les modificateurs d'accès: http://msdn.microsoft.com/en-us/library/ms173121.aspx
la source
Votre
Delivery
classe est interne (la visibilité par défaut pour les classes), cependant la propriété (et vraisemblablement la classe contenant) sont publiques, donc la propriété est plus accessible que laDelivery
classe. Vous devez soit rendreDelivery
public, soit restreindre la visibilité de lathelivery
propriété.la source