这可能是非常蹩脚的问题,但我没有在C#规范中找到关于圆括号的引用。如果对这个问题的回答是显而易见的,请将我指向spec或msdn。(MyType)SomeObj.Property1和(MyType)(SomeObj.Property1)在C#中的内部区别是什么?
(MyType)SomeObj.Property1和(MyType)(SomeObj.Property1)在C#中的内部区别是什么?在第一种情况下((x)SomeObj.Property1强制转换)AFAIK - 它将作为Property1的具体类型(MyType)的引用。在第二种情况下,这样的引用将执行获取器SomeObj.get_Property1。 它最终可能会导致微妙的错误,如果访问器有任何副作用(和它经常 - 有一个)
任何人都可以指向我确切的文档,这种行为指定?
更新:感谢您指点。我对这个愚蠢的问题深表歉意 - 在发布这个问题之后,我发现了一个错误的例子,我发现第二个案例行为不是基于我试图编译的代码,而是以前编译完全不同的代码。所以我的问题最初是基于我自己的失明...