内容简介:我测试了你的代码示例(你描述的完全相同的条件,在RIA域服务的提交覆盖中),两者都产生了警告.它实际上是预期的:在这两种情况下,你都将changeRow声明为ChangeSetEntry变量.它是否处于foreach循环中并不会改变任何相关内容.并且由于RouteStage不从ChangeSetEntry(已密封)继承,因此应始终显示警告.要么你过分简化了你的例子(还有一些东西丢失了),要么就像Jon Skeet所怀疑的那样,两个代码片段中的RouteStage类型实际上都没有引用相同的类型(检查你没有使用
更具体地说,为什么这样做:
foreach (ChangeSetEntry changeRow in changeSet.ChangeSetEntries)
if (changeRow is RouteStage)
{ ... }
但这不是吗?
ChangeSetEntry changeRow = changeSet.ChangeSetEntries[0];
if (changeRow is RouteStage)
{ ... }
在后一种情况下,我得到一个编译器警告说:
The given expression is never of the provided type.
我可以理解,因为changeRow是一个ChangeSetEntry而不是RouteStage,所以为什么它在foreach块中工作?
这是我在RIA Services DomainService中覆盖Submit方法. RouteStage是我已定义为由DomainService返回的实体.
我测试了你的代码示例(你描述的完全相同的条件,在RIA域服务的提交覆盖中),两者都产生了警告.
它实际上是预期的:在这两种情况下,你都将changeRow声明为ChangeSetEntry变量.它是否处于foreach循环中并不会改变任何相关内容.并且由于RouteStage不从ChangeSetEntry(已密封)继承,因此应始终显示警告.
要么你过分简化了你的例子(还有一些东西丢失了),要么就像Jon Skeet所怀疑的那样,两个代码片段中的RouteStage类型实际上都没有引用相同的类型(检查你没有使用RouteStage = ChangeSetEntry;在你班级的某个地方).
翻译自:https://stackoverflow.com/questions/20887087/how-does-the-is-keyword-work
以上所述就是小编给大家介绍的《c# – “是”关键字如何工作?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 番外篇2-基本规范、注释、static关键字、import关键字
- 说说iOS中的常用的关键字static ,class(仅限Swift关键字)
- Golang 关键字
- 2019 关键字
- golang关键字
- final关键字深入解析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据挖掘概念与技术
(加)Jiawei Han;Micheline Kamber / 范明、孟小峰 / 机械工业 / 2007-3 / 55.00元
《数据挖掘概念与技术(原书第2版)》全面地讲述数据挖掘领域的重要知识和技术创新。在第1版内容相当全面的基础上,第2版展示了该领域的最新研究成果,例如挖掘流、时序和序列数据以及挖掘时间空间、多媒体、文本和Web数据。本书可作为数据挖掘和知识发现领域的教师、研究人员和开发人员的一本必读书。 《数据挖掘概念与技术(原书第2版)》第1版曾是受读者欢迎的数据挖掘专著,是一本可读性极佳的教材。第2版充实了数据......一起来看看 《数据挖掘概念与技术》 这本书的介绍吧!