標籤:style blog http ar color sp strong on 2014
【問題】
【分析】
傳回型別和方法的形參表中引用的各個類型必須至少具有和方法本身相同的可訪問性。
其中一個是返回參數的存取層級小於函數的存取層級,
也就是說當定義一個返回參數的方法的時候,如果返回參數的存取層級低於方法的存取層級就會出現這樣的錯誤,
這個是可以理解的,如果返回的參數不能被訪問,那麼定義的返回的方法也是錯誤的.
【執行個體】
SmartPark.BLL.ParkTicketTypeManager:
public Park_TicektType GetByParkID(long parkID) { return null; }
SmartPark.Models.Park_TicketType:
namespace SmartPark.Models{ [Serializable()] <span style="color:#ff0000;">class Park_TicektType</span> { private int ticketType_Park_ID; public int TicketType_Park_ID { get { return ticketType_Park_ID; } set { ticketType_Park_ID = value; } } private int ticketTypeID; public int TicketTypeID { get { return ticketTypeID; } set { ticketTypeID = value; } } private string ticketTypeName; public string TicketTypeName { get { return ticketTypeName; } set { ticketTypeName = value; } } private int parkID; public int ParkID { get { return parkID; } set { parkID = value; } } private string parkName; public string ParkName { get { return parkName; } set { parkName = value; } } private bool deleteFlag; public bool DeleteFlag { get { return deleteFlag; } set { deleteFlag = value; } } private string demo; public string Demo { get { return demo; } set { demo = value; } } }}
函數的存取層級為public,返回參數的存取層級為private,當定義一個返回參數的方法的時候,如果返回參數的存取層級低於方法的存取層級就會出現這樣的錯誤
建立類的時候,class前面預設是沒有public的,加上就對了
改成:
namespace SmartPark.Models{ [Serializable()] public class Park_TicektType { private int ticketType_Park_ID; public int TicketType_Park_ID { get { return ticketType_Park_ID; } set { ticketType_Park_ID = value; } } private int ticketTypeID; public int TicketTypeID { get { return ticketTypeID; } set { ticketTypeID = value; } } private string ticketTypeName; public string TicketTypeName { get { return ticketTypeName; } set { ticketTypeName = value; } } private int parkID; public int ParkID { get { return parkID; } set { parkID = value; } } private string parkName; public string ParkName { get { return parkName; } set { parkName = value; } } private bool deleteFlag; public bool DeleteFlag { get { return deleteFlag; } set { deleteFlag = value; } } private string demo; public string Demo { get { return demo; } set { demo = value; } } }}
[c#]可訪問性不一致