可访问性不一致: 属性类型“ ”比属性“ ”的可访问性低

http://bbs.csdn.net/topics/390169193

你的class booktype是默认internal的

但是
public frmBookType(frmMain frm,model.booktype type) 是public的

当你在一个访问性比较强(例如公共)的字段/属性/方法里使用自定义类型,而这个类型访问性比较低(例如保护/私有)的时候就发生这个问题了
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、 QAC介绍和使用说明 其他的功能概括 1、提供一种可量化措施的代码度量值属性:33基于功能 32基于文件和4个项目级别 2、功能结构关系图,以提供控制流动洞察 3、展示全局调用函数的关系图引用和文件树结构 4、提供统计分析对代码质量的全面评估 5、跨模块分析能力(CMA)、分析递归功能和全局标识符的各种问题 6、简化的旧代码修改的设置基准模块 Source..c文件通过分析工具生成3种文件source.c.i、source.c.met、source.c.err。source.c.i文件可以直接生成报告文件,.met、.err这两个文件可以分析出功能结构、关系、特征标准、报告或者进行跨模块分析,对于跨模块分析和剖析器分析需要进行配置,source.c.met、source.c.err、配置文件可以在信息浏览器中显示 2、 规划 2.1、自动生成文件及参数说明 生成自动文档步骤: 1、从文件菜单中选者Auto-Create Project 2、进入Root Folder Name,这是工程的根目录,后面的自动生成的文件都会对应此根目录产生 3、进入Starting Directory,这个源代码目录与工程的根目录相连 4、进入Output File Path,这里可以选择QAC分析后的输出文件,好的情况就是用一个专门的目录和工程根目录相连 5、Replicate source tree structure in output paths通常是为输出部分建立一个子目录结构,这里可以有2种选择,可以选择Parallel to Source Structure为源代码建立一个平行的目录结构,或者选择Sub-path to each source location把规定的输出的子目录嵌入到源工程目录下面 6、选择File Extensions可以加入项目,通常只要选择一个.C文件,包括对.H文件也就被加入 7、为文件夹选择一个个,可能会使用默认设置为起始点,可以在QAC中选择Configuration菜单 8、点击OK就是建立了工程,包含源文件工程和子文件夹 9、保存文件,外部扩展名为.prj 注意:也可以在已有的项目上自动生成一个文件夹,点击菜单Edit > Auto-create Sub-Folders,其余步骤和以上相同 文件夹参数:包括文件夹名称、默认源路径、输出路径和三种个 可以进入Edit > Folder Parameters只可以改变文件夹参数,进入Edit > Propagate Changes to Sub-Folders可以改变所有子文件夹参数 2.2、手动生成文档及参数说明 生成手动文档步骤: 1、从菜单File中选择New Project,显示一个对话框New Project Parameters 2、进入Root Folder Name,输入一个项目名称 3、进入Default Source Path为项目初始化文件夹,这个路径可以改变所有子文件夹 4、在Output File Path中选择需要输出的分析文档 5、为工程选个个 6、点击 OK创建项目,这工程的配置是唯一的文件夹 7、按要求增加更多的子文件夹和文件按要求 8、保存文件,外部扩展名为.prj 文件夹参数;在File > Reopen这项中可以有10多个选项,当没用的文件可以选择Clean-up。 文件和目录的位置时重新打开项目,将检查的存在。如果不存在一个条目将显示下面的对话框。有的更正可以自动应用的过程。 2.3、选择输出文件 一般文件夹的层次结构在在左边显示,选择的列表在文件的右边显示 所有的选择都在Browse 和d Reports这两个菜单中 A、如果选择单个文件或一组文件,则使用 B、否则当前所选文件夹,再加上所有子其文件夹,窗体所选内容。这意味着使用这些文件夹中的所有文件。 在浏览器内修改,有可能会改变开始的选择,用Select Files…在File菜单内 2.4、互相比较和环境变化的报告 2.4.1、根路径 2.4.2、基于GUI的环境变量创建 2.4.3、相对路径和环境变量的运用 选择Apply Relative Paths项可以选择相对路径减少的所有文件条目,根目录在右上角,表示保存项目文件的位置,确定路径是否合适相对路径减少。 选择Make file paths in each folder relative to its Default Source Path entry项,如果想要应用一个虚拟的环境变量表达默认每个文件的源路径到其他文件条目下。 在Available Environment Variables列表下,可以添加EVs to Apply至右边框中,将这种替换只发生在项目中的项的文件或关联的路径不受相对路径减少的个 选择Apply path reduction to personality file entries associated with the project项,为了继续应用相对路径和环境变量在文件路径下的个定义 选择Remove all path reduction from the project and associated personalities项若要撤消所有的相对路径和环境变量从相关个设置项目恢复到完全在所有情况下限定的路径 例如,一个被重建的“Diff”项目如下所示与充分的relative道路实施 3、 配置QAC 为应用程序配置主要通过可访问Configuration > Options选项卡,有以下几点: Annotated Source 附加说明源 Cross-Module Analysis 跨模块分析 Custom Reports 自定义报告 Default Personalities 默认特 Editor Preferences 编辑选项 Environment 环境 (Product)Extensions (产品)条目 Project File Options 项目文件选择 要查看您的安装与那些一起中的个的一组在您的项目中定义,可以在Configuration下选择Message Personalities, Analyser Personalities or Compiler Personalities这几个选项 当创建了一个额外的特,也可以设置它们成为系统默认,在Configuration>Options>Default Personalities下设置 3.1、配置编译器特 看附录A 3.1.1、设置系统头文件 在系统包括系统标题选项卡上的标题,设置您系统标头包含路径 可以点击Suppress Output阻止这些头文件,当阻止了那些头文件,一些从特定的头文件或路径中产生的分析数据也不能在.err、.met文件中出现 您可以手动输入是相对于当前项目的路径位置,虽然建议进行完整路径选择和然后将任何选择的道路减少保存项目的过程中的应用操作 3.1.2、设置系统宏 在System Macro Defines下的Project Macros菜单中,设置宏同编译器或开发环境一致,宏可以在Compiler Personality或Analyser Personality设置 3.1.3、设置实现定义的类型 在c编译器里有3中类型定义,在“implementation defined”中选择,如下: size_t 一种无符号必需类型通过sizeof操作表示返回类型 ptrdiff_t 一种有有符号必需类型用减法运算的两个指针来表示 wchar_t 它反映了类型的范围内的整数类型字符文本和宽字符字符串 在Data Types下的Intrinsic Types条目控制这些类型的方法实施,需要以匹配编译器配置环境。所载入的任何相应类型声明头文件(e.g. stddef.h, stdio.h)必须反映内在匹配值类型。如果不符合,qac提示等级9的警告,如有必要,检查您的头文件确定适当的设置这些选项。 如上所述:QAC随提供一套标准库的头文件,如果想改变这些类型定义,必须先明白QAC内部的定义类型,因为那些头文件包含一些声明ptrdiff_t, size_t 和wchar_t,还有3种宏指令定义PRQA_PTRDIFF_T, PRQA_SIZE_T,和PRQA_WCHAR_T, 3.1.4、编译器扩展 许多编译器制造商实施 ISO C 的扩展语言定义来利用特定的硬件环境。特别是在嵌入式软件代码的速度和空间是重要 使用的语言扩展的危险是他们妥协可移植。源代码越来越依赖于编译器和硬件环境。 QA C 是能够分析各种不同的语言变体和扩展,但它不是通常能够解释扩展在语义上。通常,必须配置该工具等,非标准关键字将被忽略。 有几种方法可以为此配置QAC,看附录B–extensions部分
### 回答1: DBus 接口的 set 属性可能设置不成功的原因有以下几点: 1. 您没有足够的权限来设置属性。在 DBus 中,每个属性都有一个可访问级别,只有具有足够权限的用户或进程才能对其进行设置。 2. 您尝试设置的属性不存在。确保您尝试设置的属性名称正确,并且该属性已在 DBus 接口中声明。 3. 您尝试设置的值不符合属性的数据类型。确保您尝试设置的值与属性的数据类型匹配。 4. 属性设置可能被限制或禁止。有时候,属性可能被设置为只读,或者可能存在其他限制,使得您无法设置它们。 5. 可能存在其他未知的错误。如果您仍然无法设置属性,请尝试调试 DBus 连接并查找错误信息。 ### 回答2: dbus是一种进程间通信机制,允许不同进程之间相互调用和传递消息。在dbus中,属性是对象的一种特,可以通过set函数来设置属性的值。当设置属性不成功时,可能有以下几个原因: 1. 权限限制:如果进程没有足够的权限来设置该属性,dbus会拒绝设置操作。这通常是因为当前用户没有足够的权限或者属性所属的服务没有授权给该用户。 2. 属性不存在:如果尝试设置的属性不存在或者名称拼写错误,dbus将无法找到该属性并执行设置操作。在这种情况下,需要检查属性名是否正确或者在正确的路径下查找该属性。 3. 属性设置被拒绝:有些属性可能在特定条件下不允许被设置。例如,一些只读属性只能读取而不能设置,或者某些属性可能只能在特定状态下被设置。因此,在尝试设置属性之前,需要确定属性的设置条件是否满足。 4. 传入的值错误:当传递给set函数的属性值与属性预期类型不匹配时,dbus将无法设置属性。确保传入的属性类型属性定义的类型一致。 5. dbus服务问题:如果DBus服务本身出现问题,例如无法连接或崩溃,那么设置属性可能会失败。在这种情况下,需要检查DBus服务是否正常运行,并重新尝试设置操作。 总的来说,dbus接口set属性设置不成功的原因可能是权限限制、属性不存在、属性设置被拒绝、传入的值错误或者DBus服务问题。根据具体情况,可以采取相应的解决方法来解决设置属性不成功的问题。 ### 回答3: 在使用dbus接口的set属性方法时,可能会出现设置不成功的原因有以下几点: 首先,可能是因为对应的属性不存在或者没有权限进行设置。在使用dbus接口设置属性之前,需要先确保要设置的属性在dbus对象中存在,并且当前用户具备对该属性的写入权限。如果属性不存在或者没有权限,那么设置操作就会失败。 另外,还可能是因为属性的值不符合要求导致设置失败。每个属性在dbus接口中都有对应的数据类型要求,如果设置的属性值与其数据类型不匹配,那么设置操作就会失败。比如,如果某个属性要求是整数类型,而设置的值却是字符串类型,那么设置操作就无法成功。 此外,还有可能是因为属性的值范围超出了设备所支持的范围,导致设置失败。有些属性在设备上有特定范围限制,如果设置的属性值超过了这个限制,那么设置操作就会失败。 最后,还可能是因为在并发操作下多个客户端同时对同一个属性进行设置,导致冲突而设置失败。如果多个客户端同时对同一个属性进行设置操作,可能会引发竞争条件,导致设置失败。这种情况下,可以通过加锁或者使用事务来避免冲突。 综上所述,dbus接口设置属性不成功的原因可能是属性不存在、没有权限、属性类型不匹配、属性值超出范围或者并发冲突等。在使用dbus接口设置属性时,需要仔细检查以上可能的原因,以便准确定位并解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值