在考察对象浏览器窗口中的.NET对象模型,我遇到了缺乏对密封类的信息。
如果,例如,一个导航到mscorlib程序容器- >系统命名空间- > String类,详细信息窗格中显示以下内容:
公共类字符串
系统成员
摘要:
表示文本为一系列的Unicode字符。
属性:
[System.Runtime.InteropServices.ComVisibleAttribute(真),System.Reflection.DefaultMemberAttribute( “个字符”)]
看来,如果一个类是密封的或者通过代码定义窗口或,当然,试图从中得到我只能确定。
然而,尽管下面的Apress - Pro C# 2008 and the .Net 3.5 Platform
,由安德鲁·特罗尔森,笔者显示188页上的对象浏览器如何显示密封状态:
这方面的资料从Visual Studio 2008中的对象浏览器中删除? 我也拿不回来不知何故?
虽然作者提到整个文本的Visual Studio 2008,该屏幕截图必须是从以前的版本。 这本书其实是在第4版,并于2001年开始回与.net 1.0 Beta 2中。
我知道它已经几年,但我只是想确认我可以VS2k8 SP1看到这一点,但仅限于String
。
我想这是因为String
是唯一的class
沿已被标记为“特殊”(基本类型吧?) Integer
, Long
等,这些都是ValueTypes
( structures
)。
注意,在这个问题的图像SByte
, Single
和String
没有在LHS树状那里,因为他们现在做同样的图标。
编辑:这是另一个几年,我刚刚注意到了VB.NET中VS2k8 SP1 它说Public NotInheritable Class String
时,我有对象浏览器浏览选择集中到我的项目或所有组件*,但只有Public Class String
当我选择一个特定的.NET Framework(然而属性列,而他们在其他浏览选项不是)。
*由于在OP捕获的显示器!
NB它只有当你推卸更新显示String
的LHS树状再次回来就可以了。 和VS2010 SP1相同的行为。
在VS2010我看到所有的组件显示String
既NotInheritable
,对于.NET 4,和“空白”为.NET 2和Silverlight,但我目前不能确认什么VS2008显示了类似的情况。
我的Visual Studio 2008中似乎不存在此问题。 你是否升级到SP1? 你有其他工具或加载项修改对象浏览器的功能?