2012-12-01 21 views
61

birisi aşağıdaki hata ile yardım eder misiniz az erişilebilir:Tutarsız erişilebilirlik: mülkiyet tipi

Inconsistent accessibility: property type 'Test.Delivery' is less accessible than property 'Test.Form1.thelivery'

private Delivery thedelivery; 

public Delivery thedelivery 
{ 
    get { return thedelivery; } 
    set { thedelivery = value; } 
} 

Ben programını çalıştırmak mümkün değilim nedeniyle tutarsızlık hata mesajı. Deliveryinternal için onu varsayılan anlamına hiçbir erişim düzenleyici sahiptir

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(); } 
     } 
    } 
} 

cevap

143

sınıf public erişim değiştirici yapmak, sadece sınıf adının public kelime Infront eklemek

namespace Test 
{ 
    public 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(); } 
     } 
    } 
} 
+0

0down voteaccept üzgün nasıl kamu erişimine değiştirici –

+0

@DavidBukera benim sınıf yapmak için lütfen bana edebilirsiniz: updated , kontrol edin –

+0

@DavidBukera: Sanırım bunu aldım –

7

Sınıfınız:

İşte benim doğum sınıftır. Bu tür bir özelliği public olarak ortaya çıkarmaya çalışırsanız, işe yaramaz. Türünüzün (sınıfınızın) mülkünüzle aynı veya daha yüksek erişime sahip olması gerekir. erişim değiştiricileri hakkında

Daha: http://msdn.microsoft.com/en-us/library/ms173121.aspx

5

Sizin Delivery sınıf (sınıflar için varsayılan görünürlük), ancak mülkiyet (ve muhtemelen içeren sınıfı) halka açıktır iç, yani mülkiyet Delivery dersten daha erişilebilir . Delivery genel yapmalısınız ya da thelivery özelliğinin görünürlüğünü kısıtlamanız gerekir.