GlobalizationAssembly.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Globalization / GlobalizationAssembly.cs / 1305376 / GlobalizationAssembly.cs

                            // ==++== 
//
//   Copyright (c) Microsoft Corporation.  All rights reserved.
//
// ==--== 

namespace System.Globalization { 
    using System; 
    using System.Reflection;
    using System.Collections; 
    using System.Collections.Generic;
    using System.Threading;
    using System.Security;
    using System.Security.Principal; 
    using System.Security.Permissions;
    using System.Runtime.CompilerServices; 
    using System.Runtime.ConstrainedExecution; 
    using System.Runtime.Versioning;
    using System.IO; 
    using System.Diagnostics.Contracts;


    /*=================================GlobalizationAssembly========================== 
    **
    ** This class provides the table loading wrapper that calls GetManifestResourceStream 
    ** 
    ** It used to provide an idea for sort versioning, but that proved to not work
    ** 
    ============================================================================*/
    internal sealed class GlobalizationAssembly
    {
        // ---------------------------------------------------------------------------------------------------- 
        //
        // Instance data members and instance methods. 
        // 
        // ---------------------------------------------------------------------------------------------------
        [System.Security.SecurityCritical]  // auto-generated 
        [ResourceExposure(ResourceScope.Process)]
        [ResourceConsumption(ResourceScope.Machine, ResourceScope.Process)]
        internal unsafe static byte* GetGlobalizationResourceBytePtr(Assembly assembly, String tableName) {
            Contract.Assert(assembly != null, "assembly can not be null.  This should be generally the mscorlib.dll assembly."); 
            Contract.Assert(tableName != null, "table name can not be null");
 
            Stream stream = assembly.GetManifestResourceStream(tableName); 
            UnmanagedMemoryStream bytesStream = stream as UnmanagedMemoryStream;
            if (bytesStream != null) { 
                byte* bytes = bytesStream.PositionPointer;
                if (bytes != null) {
                    return (bytes);
                } 
            }
 
            Contract.Assert( 
                    false,
                    String.Format( 
                        CultureInfo.CurrentCulture,
                        "Didn't get the resource table {0} for System.Globalization from {1}",
                        tableName,
                        assembly)); 

            // We can not continue if we can't get the resource. 
            throw new InvalidOperationException(); 
        }
 
    }
}


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK