我正在逐步浏览 .Net Framework 源代码以找到一个棘手的错误(HttpApplication.cs),并且我注意到代码中有这样的行(这些是复制/粘贴,我没有编辑任何内容):
_[....] = true;
和
_[....] = false;
我想知道这是否是混淆代码,或者这是我以前从未见过的某种 c# 约定?VS 2012 似乎认为它不是真正的代码。
任何人都可以启发我吗?
实际 HttpApplication.cs 代码中存在的字段名称是“_sync”。有一个自动化工具,它在向公众发布之前在源代码上运行;该工具会清除开发人员姓名等内容。看起来这只是误报。我将与适当的团队一起提出它,看看是否可以纠正它。
这个特殊的标记似乎出现在.NET 参考源代码中。它在注释中的使用频率远高于作为变量使用,但HttpApplication.cs
不是它显示的唯一位置(例如,WeakKeyDictionary
将其用作lock
目标。)
在很多情况下。它是“同步”一词的同义词,如:
InstancePersistenceContext.cs:1586: Fx.AssertAndThrowFatal(this.context.Active,
"Out-of-[....] between InstanceExecutionContext and ExecutionAsyncResult.");
EditModeSwitchButton.cs:64: // [....] to the owning PropertyContainer only if requested to do so
我最喜欢的,来自一个过时的System.Web.Mobuile
课程:
TemporaryBitmapFile.cs: private void [....]()
关于它的来源,我最好的猜测是,它是在向公众发布之前在源代码上完成的预发布步骤(它出现在我找到的参考源的每个副本中,但不是SSCLI不久前发布。比较,例如RemotingProxy.cs:222
:
SSCLI: int callType = Message.Sync;
RefSec: int callType = Message.[....];
你是对的,源代码包含一个名为的布尔变量 _[....]
。我猜在编写代码时无法确定变量的名称;后来忘记修了。
http://reflector.webtropy.com/default.aspx/Net/Net/3@5@50727@3053/DEVDIV/depot/DevDiv/releases/whidbey/netfxsp/ndp/fx/src/xsp/System/Web/ HttpApplication@cs/10/HttpApplication@cs