2012-12-01 41 views
61

請有人可以用下面的錯誤幫助:可訪問性不一致:屬性類型是不太容易接近

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

我不能運行程序由於不一致的錯誤消息。

這裏是我的交貨類:

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

回答

143

使類public訪問修飾符,只需添加你的類名public關鍵字盈

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 對不起,你能告訴我如何使我的類公共訪問修飾符 –

+0

@DavidBukera:更新,檢查它 –

+0

@DavidBukera:我想你明白了 –

7

你的類Delivery沒有訪問修飾符,這意味着它默認爲internal。如果您然後嘗試將該類型的屬性作爲public公開,它將不起作用。您的類型(類)需要與您的財產具有相同或更高的訪問權限。

更多關於訪問修飾符:http://msdn.microsoft.com/en-us/library/ms173121.aspx

5

Delivery類是內部的(對於類的默認可見性),然而屬性(大概包含類)是公開的,所以性能比Delivery類更方便。您需要公開Delivery或限制thelivery財產的可見性。

相關問題