[c#]可访问性不一致

简介:

【问题】


【分析】

返回类型和方法的形参表中引用的各个类型必须至少具有和方法本身相同的可访问性。

其中一个是返回参数的访问级别小于函数的访问级别,

也就是说当定义一个返回参数的方法的时候,如果返回参数的访问级别低于方法的访问级别就会出现这样的错误,

这个是可以理解的,如果返回的参数不能被访问,那么定义的返回的方法也是错误的.


【实例】

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







目录
相关文章
|
1月前
|
数据安全/隐私保护 C++
c++访问
c++访问
22 0
|
1天前
为什么用了代理ip访问网站还是被限制了
为什么用了代理ip访问网站还是被限制了
|
1月前
|
存储 Java
|
6月前
|
Web App开发 缓存 安全
尝试访问一个网站,但是这个访问失败了
尝试访问一个网站,但是这个访问失败了
27 0
|
7月前
|
SQL 监控 安全
OpenWAF配置本地资源访问
OpenWAF配置本地资源访问
|
11月前
|
XML 数据格式
为什么访问同一个网址却返回不同的内容
为什么访问同一个网址却返回不同的内容
|
域名解析 前端开发 数据挖掘
终于有了一个人人可以访问的网站了(1)
终于有了一个人人可以访问的网站了
191 0
终于有了一个人人可以访问的网站了(1)
|
SQL 数据挖掘 关系型数据库
终于有了一个人人可以访问的网站了(2)
终于有了一个人人可以访问的网站了(2)
117 0
终于有了一个人人可以访问的网站了(2)
|
存储 IDE 安全
使用 JPA 访问数据
本指南将引导您完成构建应用程序的过程,该应用程序使用Spring Data JPA 在关系数据库中存储和检索数据。
使用 JPA 访问数据