`
SunnyYoona
  • 浏览: 367700 次
社区版块
存档分类
最新评论

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







分享到:
评论

相关推荐

    C#中volatile与lock用法

    多个线程同时访问一个变量,CLR为了效率,允许每个线程进行本地缓存,这就导致了变量的不一致性。volatile就是为了解决这个问题,volatile修饰的变量,不允许线程进行本地缓存,每个线程的读写都是直接操作在共享...

    C#微软培训资料

    可个可 可 以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 Microsoft.NET 的概念 .NET 框架...

    在一小时内学会 C#(txt版本)

    3. 超出数组边界的表达式索引值同样不可访问。 4. C# 中没有全局变量或全局函数,取而代之的是通过静态函数和静态变量完成的。 数据类型 所有 C# 的类型都是从 object 类继承的。有两种数据类型: 1. 基本/内建...

    C#120问(重点难点)

    其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策。 2.什么是事务?什么是锁? 答:事务...

    c# sql server数据库操作源程序,集连接,显示,修改,查询,导入/导出EXECL。

    c# 编写的winform 操作sql server数据库操作源程序,程序设计技巧性强,集sql server数据库操作之大全,跨窗体增加,修改数据,可连接,显示,修改,查询,导入/导出EXECL。可访问本地数据库,也可访问局域网数据库...

    C#不可变类型深入解析

    学过C#的人都知道string类型,但是string作为一种特殊的引用类型还有一个重要的特征就是恒定性,或者叫不可变性,即Immutable。作为不可变类型,最主要的特性表现是:一旦创建,只要修改,就会在托管堆上创建一个新...

    C#线程锁介绍源码

    数 据库除了存储数据之外,还有一个重要的用途就是同步,数据库本身用了一套复杂的机制来保证数据的可靠和一致性,这就为我们节省了很多的精力。保证了数据源 头上的同步,我们多数的精力就可以集中在缓存等其他...

    微软 C#语言参考 CHM格式

    3.3.1 声明可访问性... 56 3.3.2 可访问性域... 57 3.3.3 保护的访问... 59 3.3.4 可访问性约束... 60 3.4 签名和重载... 60 3.5 范围 61 3.5.1 名称隐藏... 63 3.6 名称空间或类型名称... 65 3.6.1 合格的名称... ...

    c# 加密和解密相关代码

    ToChar 方法返回指定的Unicode字符值,并且不执行任何实际的转换,其语法格式如下: public static char ToChar (char value) 参数说明 value:一个Unicode 字符。 设 计过程 (1)打开Visual Studio 2008 开发环境...

    C#语言参考C#语言参考

    3.3.1 声明可访问性 56 3.3.2 可访问性域 57 3.3.3 保护的访问 59 3.3.4 可访问性约束 60 3.4 签名和重载 60 3.5 范围 61 3.5.1 名称隐藏 63 3.6 名称空间或类型名称 65 3.6.1 合格的名称 66 4. 类型 67 4.1 数值...

    浅析c# 线程同步

    一致性维护 无线程干扰 C#锁定 使用 C# lock关键字同步执行程序。它用于为当前线程锁定,执行任务,然后释放锁定。它确保其他线程在执行完成之前不会中断执行。 下面,创建两个非同步和同步的例子。 C# 示例:非...

    C# 创建、部署和调用WebService简单示例

    概念性的东西就不说太多,下面开始创建一个简单的webservice的例子。这里我用的是Visual Studio 2015开发工具。 首先创建一个空的Web应用程序。 然后鼠标右键点击项目,选择 添加&gt;新建项。 选择Web服务,点击...

    12种常用设计模式C#代码示例

    10,迭代器模式:提供一种方法,顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 11,组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象已经...

    PDF操作帮助类大全C#

    - 可移植性:PDF文件可以在不同操作系统和设备上一致地显示,无需担心兼容性问题。 - 保持原始布局:尽管不同用户使用不同的字体、分辨率和屏幕大小,PDF可以保持文档的原始布局和格式。 - 安全性:PDF文件支持密码...

    C# 子线程调用主线程窗体的解决方法

    因此如果有两个或多个线程适度操作某一控件的状态(set value),则可能会迫使该控件进入一种不一致的状态。还可能出现其他与线程相关的bug,包括争用和死锁的情况。所以VS2005这一改动便可以增强线程安全性。  我想...

    C#命名空间与java包的区别分析

    1、C#命名空间只是一种逻辑上的结构,它允许所组织的类文件的物理存放位置与逻辑结构不一致,而Java中类文件的物理结构必须与逻辑结构一致。 2、Java的package本身没有子包的概念,所有package都是并列的关系,没有...

    C# Winform数据库应用设计(附开发案例

    但在任何情况下,C#语言都不可能孤立地使用,它必须同 Microsoft. net framework 起使用,因为使用C#语言编写的所有代码总是在 Microsoft .net framework中运行。 1.1.2 Visual studio 微软针对Net推岀了功能强大的集成...

    办公自动化论文文档 通过用ASP.NET2.0(C#)来编写系统,主要采用三层架构的B/S模式,利用软件工程的可行性研究、需求分析、概要设计、详细设计等来完成论文。

    对于数据库要求数据一致性、完整性强。数据库访问层和逻辑层强调面向对象思想,表示层的设计强调美观,易使用。通过用ASP.NET2.0(C#)来编写系统,主要采用三层架构的B/S模式,利用软件工程的可行性研究、需求分析、...

    C#语言参考,微软的基础教程

    3.3.1 声明可访问性 58 3.3.2 可访问性域 59 3.3.3 保护的访问 61 3.3.4 可访问性约束 62 3.4 签名和重载 62 3.5 范围 63 3.5.1 名称隐藏 65 3.6 名称空间或类型名称 67 3.6.1 合格的名称 68 4. 类型 69 4.1 数值...

Global site tag (gtag.js) - Google Analytics