[ Team LiB ] Previous Section Next Section

5.26 Undocumented Types

The assemblies that make up the .NET Framework also export many types and namespaces that are not documented. These types and namespaces generally represent either implementation details that are subject to change, vestigial code from earlier betas, or tool-specific code that happens to be managed and is therefore subject to examination via reflection. Regardless of the reason, one cannot count on undocumented types, nor expect any support from Microsoft.

That said, there is useful information to be gained from investigating these private implementation details. Examples of this include programmatic access to the GAC, predefined Win32 structures and COM interfaces (internals of SoapSuds.exe, RegAsm.exe, TlbImp.exe, and TlbExp.exe), and browser, tool, and OS integration helpers.

Many of the documented namespaces include additional undocumented types. Additionally, the following namespaces are completely undocumented:

Accessibility
IEHost.Execute
Microsoft.CLRAdmin
Microsoft.IE
Microsoft.JScript.Vsa
Microsoft.VisualBasic.CompilerServices
Microsoft.VisualBasic.Helpers
Microsoft.VisualBasic.Vsa
Microsoft.VisualC
Microsoft.Vsa.Vb.CodeDOM
Microsoft_VsaVb
RegCode
SoapSudsCode
System.Diagnostics.Design
System.EnterpriseServices.Internal
System.Messaging.Design
System.ServiceProcess.Design
System.Web.Handlers
System.Web.RegularExpressions
System.Web.Util
System.Windows.Forms.ComponentModel.Com2Interop
System.Windows.Forms.PropertyGridInternal
TlbExpCode
TlbImpCode

To investigate these types and namespaces, use ILDasm.exe to examine the metadata and MSIL (see Appendix E to match DLLs with their namespaces).

    [ Team LiB ] Previous Section Next Section