当前位置: 首页 > news >正文

c开发 一个关于访问性的问题

导读:
靠,今天开发的时候碰到一个访问相关的问题,找了半天原因没有找到,所以就到望上查,还是发现了。

本文转自
http://www.efish.cn/Article/2007/4/21/60742.html 问题 我定义了一个类,其中希望其中一个函数可以返回在类中定义list 容器(初学不久,感觉list 和stl中的list容器挺像的,暂时也管list叫容器吧)

namespace mytest{
partial class a{
public list getlist(){
return mylist;
}
private list mylist;
}
}
运行后编译器提示
可访问性不一致: 返回类型"system.collections.generic.list ”比方法“mytest.a.getlist()”的可访问性低"
请问怎样写才能返回list容器? 我定义了一个类,其中希望其中一个函数可以返回在类中定义list 容器(初学不久,感觉list 和stl中的list容器挺像的,暂时也管list叫容器吧)

namespace mytest{
partial class a{
public list getlist(){
return mylist;
}
private list mylist;
}
}
运行后编译器提示
可访问性不一致: 返回类型"system.collections.generic.list ”比方法“mytest.a.getlist()”的可访问性低"
请问怎样写才能返回list容器? 响应者 1:就是说外部对象无法引用到mylist对象的定义。
namespace mytest{
partial class a{
public list getlist(){
return mylist;
}
public list mylist;
}
}
响应者 2:mytype的申明贴出来
响应者 3:partial class a{
public list getlist(){
return mylist;
}
private list mylist;
public class mytype{}//改称public

}
响应者 4:改成public可以解决这个我知道~~~但是改成public后函数getlist()就没有什么意义了。用户可以任意访问并修改mylist中的内容,类的封装性就被破坏了,我希望类外的用户只能通过一个接口,即getlist()来获得类内的list容器,请问该怎么解决?谢谢 响应者 5:不是把mylist改为public而是改mytype 为public
,因为mytype是嵌套类,嵌套它的类之外是无法访问这种类型
响应者 6:明白了~~~原来是犯了一个类似于标准c++中作用域的问题~~~正像hdt(倦怠)所说的一样将mytype改成public就可以了。不过程序看起来好像。。。怪怪的。。。c#中如果允许嵌套类的存在就等于允许用
myclass.myembededclass m_mec;
这种形式来创建对象了吧?不知道为什么~~~这种方式让我这个c/c++程序员看起来很不舒服*_*,明天过来给分~~~ 响应者 7:c++ 也是一样
class a
{
public:
class b
{};
public:
b test()
{
b b1;
return b1;
}
};
....
a a1;
a::b b1 = a1.test(); //如果class b不放在public:里 这句话有访问性错误

相关文章:

  • FCKedit(asp.net)详细配置以及下载
  • 如何生成一个新的GUID 全球统一唯一编号
  • readonly vs. const [C#] .net
  • VS2005 常用快捷键
  • ASP.NET中IsPostBack属性
  • 模仿Gmail右上角的Loading
  • 什么是数字信封?
  • - 转 Ext2.0 form使用实例
  • Ext的layout页面布局解析[转]
  • 【原创】Ext 上传文件,前后台实现, Asp.net 代码
  • jsp request,正确使用. 为什么不能使用 getAttribute 得到保存的数据
  • html 另存为/打印/刷新/查看原文件等按钮的代码!!!
  • 四川汶川地震感言
  • Oracle 导入数据库备份 dmp 文件
  • 丫头的拜托
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [笔记] php常见简单功能及函数
  • 「面试题」如何实现一个圣杯布局?
  • 【Amaple教程】5. 插件
  • Android 控件背景颜色处理
  • Otto开发初探——微服务依赖管理新利器
  • Phpstorm怎样批量删除空行?
  • PV统计优化设计
  • React Transition Group -- Transition 组件
  • react 代码优化(一) ——事件处理
  • ReactNativeweexDeviceOne对比
  • spring + angular 实现导出excel
  • 分类模型——Logistics Regression
  • 计算机常识 - 收藏集 - 掘金
  • 近期前端发展计划
  • 聊聊hikari连接池的leakDetectionThreshold
  • 如何合理的规划jvm性能调优
  • 设计模式(12)迭代器模式(讲解+应用)
  • 实习面试笔记
  • 数组的操作
  • 问题之ssh中Host key verification failed的解决
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​一些不规范的GTID使用场景
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #if #elif #endif
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (3)nginx 配置(nginx.conf)
  • (39)STM32——FLASH闪存
  • (力扣)循环队列的实现与详解(C语言)
  • (十六)一篇文章学会Java的常用API
  • (十五)使用Nexus创建Maven私服
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • **PHP二维数组遍历时同时赋值
  • .Net 代码性能 - (1)
  • .net对接阿里云CSB服务