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

来源:互联网 发布:飞天侠淘宝客9.1破解 编辑:程序博客网 时间:2024/05/17 02:54

 今天遇到一个问题 由于猫一开始没有注意到访问权限问题

猫猫用的是英文版的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.cs17 32 QZWBookStore

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

定义的代码是

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

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

仔细一看 我靠 看反了 

然后进入OrderBook.cs

琢磨了半天 

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

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

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

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

感觉也挺稀奇的 稀奇古怪地就被俺给撞上了

 
原创粉丝点击