您的位置:首页 > 编程语言 > C#

c# 由属性引发的访问权限问题 英语很重要!

2011-05-26 20:34 316 查看
今天遇到一个问题 由于猫一开始没有注意到访问权限问题

猫猫用的是英文版的vs 由于猫猫英语不好 一开始还感觉错误提示得挺不清晰的

导致俺愣了好几下才找到错误



是这样的 我为了方便数据的传输 在表示层直接添加了一个实体 我是直接添加了一个cs文件 然后就写了实体

问题来了

vs添加的cs文件里的类默认是internal的

一般猫猫是记得把它改成public的 不过今天由于是在同一层上调用的 俺居然忘了把它改为public的

我在一窗体上把它写成了一个属性 在窗体中创建了这个窗体 并把值传给了这个属性

如果是属性的类型和传的类型不匹配 会提示有错 这里因为是匹配的 所以没有提示 而是在定义属性的地方提示了错误

俺一开始没给看懂 就想不通了 属性类型都对了 怎么会提示错误

提示的是:

Error 1
Inconsistent accessibility: property type 'System.Collections.Generic.List<QZWBookStore.OrderBook>' is less accessible than property 'QZWBookStore.CommitOrder.OrderBooks'
E:/课程设计/ qzw-hf-bookstoretest/QZWBookStore/CommitOrder.cs
17 32
QZWBookStore

当时我就想了 可进入 可访问??

定义的代码是

public List<OrderBook> OrderBooks { get; set; }

我百思不得其解 public还不可以访问啊??

仔细一看 我靠 看反了

然后进入OrderBook.cs

琢磨了半天

才反应过来 米有加public....

由于这个属性的访问权限高于它定义的访问权限了!

以前遇到过不少访问权限的问题

不过这个似乎能行得通 好像也应该行得通的 貌似是个非常容易疏忽的地方

感觉也挺稀奇的 稀奇古怪地就被俺给撞上了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: