//
最近再看源码
譬如这个String 里边的 COMString.cpp object.h Com99/src/vm/COMStringCommon.h
这应该是C++的文件,这些文件在哪儿能看到?
// // For Information on these methods, please see COMString.cpp // // The String class represents a static string of characters. Many of // the String methods perform some type of transformation on the current // instance and return the result as a new String. All comparison methods are // implemented as a part of String. As with arrays, character positions // (indices) are zero-based. // // When passing a null string into a constructor in VJ and VC, the null should be // explicitly type cast to a String. // For Example: // String s = new String((String)null); // Console.WriteLine(s); // [ComVisible(true)] [Serializable] public sealed class String : IComparable, ICloneable, IConvertible, IEnumerable #if GENERICS_WORK , IComparable<String>, IEnumerable<char>, IEquatable<String> #endif { // //NOTE NOTE NOTE NOTE //These fields map directly onto the fields in an EE StringObject. See object.h for the layout. // [NonSerialized]private int m_stringLength; #if !FEATURE_CORECLR [System.Runtime.ForceTokenStabilization] #endif //!FEATURE_CORECLR [NonSerialized]private char m_firstChar; //private static readonly char FmtMsgMarkerChar='%'; //private static readonly char FmtMsgFmtCodeChar='!'; //These are defined in Com99/src/vm/COMStringCommon.h and must be kept in [....].