OperatingSystem Class (System)

Switch View :
ScriptFree
.NET Framework Class Library
OperatingSystem Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Represents information about an operating system, such as the version and platform identifier. This class cannot be inherited.

Inheritance Hierarchy

System.Object
  System.OperatingSystem

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
Syntax

Visual Basic
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class OperatingSystem _
	Implements ICloneable, ISerializable
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class OperatingSystem : ICloneable, 
	ISerializable
Visual C++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class OperatingSystem sealed : ICloneable, 
	ISerializable
F#
[<Sealed>]
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type OperatingSystem =  
    class
        interface ICloneable
        interface ISerializable
    end

The OperatingSystem type exposes the following members.

Constructors

  Name Description
Public method Supported by the XNA Framework OperatingSystem Initializes a new instance of the OperatingSystem class, using the specified platform identifier value and version object.
Top
Properties

  Name Description
Public property Supported by the XNA Framework Platform Gets a System.PlatformID enumeration value that identifies the operating system platform.
Public property ServicePack Gets the service pack version represented by this OperatingSystem object.
Public property Supported by the XNA Framework Version Gets a System.Version object that identifies the operating system.
Public property VersionString Gets the concatenated string representation of the platform identifier, version, and service pack that are currently installed on the operating system.
Top
Methods

  Name Description
Public method Supported by the XNA Framework Clone Creates an OperatingSystem object that is identical to this instance.
Public method Supported by the XNA Framework Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Supported by the XNA Framework Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Supported by the XNA Framework GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetObjectData Populates a System.Runtime.Serialization.SerializationInfo object with the data necessary to deserialize this instance.
Public method Supported by the XNA Framework GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method Supported by the XNA Framework MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Supported by the XNA Framework ToString Converts the value of this OperatingSystem object to its equivalent string representation. (Overrides Object.ToString().)
Top
Remarks

The OperatingSystem class contains information about an operating system. For example, the Environment.OSVersion property returns information about the currently executing operating system in an OperatingSystem object.

By design, the OperatingSystem class is not a general purpose means of describing an operating system, and you cannot derive a more inclusive type from the OperatingSystem class. If you need a type to contain other information about an operating system, create your own type, then include a field of type OperatingSystem and any additional fields, properties, or methods you require.

Examples

The following code example creates objects of the OperatingSystem class with selected values for the Platform and Version properties.

Visual Basic

' Example for the OperatingSystem constructor and the  
' OperatingSystem.ToString( ) method.
Imports System
Imports Microsoft.VisualBasic

Module OpSysConstructDemo

    ' Create and display an OperatingSystem object.
    Sub BuildOSObj( pID As PlatformID, ver As Version )

        Dim os As New OperatingSystem( pID, ver )

        Console.WriteLine( "   {0}", os.ToString( ) )
    End Sub 

    Sub BuildOperatingSystemObjects( )

        ' The Version object does not need to correspond to an 
        ' actual OS version.
        Dim verNull     As New Version( )
        Dim verMajMin   As New Version( 3, 11 )
        Dim verMMBld    As New Version( 5, 25, 625 )
        Dim verMMBVer   As New Version( 5, 6, 7, 8 )
        Dim verString   As New Version( "3.5.8.13" )

        ' All PlatformID members are shown here.
        BuildOSObj( PlatformID.Win32NT, verNull )
        BuildOSObj( PlatformID.Win32S, verMajMin )
        BuildOSObj( PlatformID.Win32Windows, verMMBld )
        BuildOSObj( PlatformID.WinCE, verMMBVer )
        BuildOSObj( PlatformID.Win32NT, verString )
    End Sub 

    Sub Main( )
        Console.WriteLine( _
            "This example of the OperatingSystem constructor " & _
            "and " & vbCrLf & "OperatingSystem.ToString( ) " & _
            "generates the following output." & vbCrLf )
        Console.WriteLine( _
            "Create and display several different " & _
            "OperatingSystem objects:" & vbCrLf )

        BuildOperatingSystemObjects( )

        Console.WriteLine(vbCrLf & _
            "The OS version of the host computer is: " & _
            vbCrLf & vbCrLf & "   {0}", _
            Environment.OSVersion.ToString( ) )
    End Sub
End Module 

' This example of the OperatingSystem constructor and
' OperatingSystem.ToString( ) generates the following output.
' 
' Create and display several different OperatingSystem objects:
' 
'    Microsoft Windows NT 0.0
'    Microsoft Win32S 3.11
'    Microsoft Windows 98 5.25.625
'    Microsoft Windows CE 5.6.7.8
'    Microsoft Windows NT 3.5.8.13
' 
' The OS version of the host computer is:
' 
'    Microsoft Windows NT 5.1.2600.0


C#

// Example for the OperatingSystem constructor and the 
// OperatingSystem.ToString( ) method.
using System;

class OpSysConstructDemo 
{
    // Create and display an OperatingSystem object.
    static void BuildOSObj( PlatformID pID, Version ver )
    {
        OperatingSystem os = new OperatingSystem( pID, ver );

        Console.WriteLine( "   {0}", os.ToString( ) );
    }

    static void BuildOperatingSystemObjects( )
    {
        // The Version object does not need to correspond to an 
        // actual OS version.
        Version verNull     = new Version( );
        Version verMajMin   = new Version( 3, 11 );
        Version verMMBld    = new Version( 5, 25, 625 );
        Version verMMBVer   = new Version( 5, 6, 7, 8 );
        Version verString   = new Version( "3.5.8.13" );

        // All PlatformID members are shown here.
        BuildOSObj( PlatformID.Win32NT, verNull );
        BuildOSObj( PlatformID.Win32S, verMajMin );
        BuildOSObj( PlatformID.Win32Windows, verMMBld );
        BuildOSObj( PlatformID.WinCE, verMMBVer );
        BuildOSObj( PlatformID.Win32NT, verString );
    }

    public static void Main( ) 
    {
        Console.WriteLine( 
            "This example of the OperatingSystem constructor " +
            "and \nOperatingSystem.ToString( ) " +
            "generates the following output.\n" );
        Console.WriteLine( 
            "Create and display several different " +
            "OperatingSystem objects:\n" );

        BuildOperatingSystemObjects( );

        Console.WriteLine( 
            "\nThe OS version of the host computer is:\n\n   {0}", 
            Environment.OSVersion.ToString( ) );
    }
}

/*
This example of the OperatingSystem constructor and
OperatingSystem.ToString( ) generates the following output.

Create and display several different OperatingSystem objects:

   Microsoft Windows NT 0.0
   Microsoft Win32S 3.11
   Microsoft Windows 98 5.25.625
   Microsoft Windows CE 5.6.7.8
   Microsoft Windows NT 3.5.8.13

The OS version of the host computer is:

   Microsoft Windows NT 5.1.2600.0
*/


Visual C++

// Example for the OperatingSystem constructor and the 
// OperatingSystem::ToString( ) method.
using namespace System;

// Create and display an OperatingSystem object.
void BuildOSObj( PlatformID pID, Version^ ver )
{
   OperatingSystem^ os = gcnew OperatingSystem( pID,ver );
   Console::WriteLine( "   {0}", os->ToString() );
}

void BuildOperatingSystemObjects()
{

   // The Version object does not need to correspond to an 
   // actual OS version.
   Version^ verNull = gcnew Version;
   Version^ verMajMin = gcnew Version( 3,11 );
   Version^ verMMBld = gcnew Version( 5,25,625 );
   Version^ verMMBVer = gcnew Version( 5,6,7,8 );
   Version^ verString = gcnew Version( "3.5.8.13" );

   // All PlatformID members are shown here.
   BuildOSObj( PlatformID::Win32NT, verNull );
   BuildOSObj( PlatformID::Win32S, verMajMin );
   BuildOSObj( PlatformID::Win32Windows, verMMBld );
   BuildOSObj( PlatformID::WinCE, verMMBVer );
   BuildOSObj( PlatformID::Win32NT, verString );
}

int main()
{
   Console::WriteLine( "This example of the OperatingSystem constructor and \n"
   "OperatingSystem::ToString( ) generates the following "
   "output.\n" );
   Console::WriteLine( "Create and display several different "
   "OperatingSystem objects:\n" );
   BuildOperatingSystemObjects();
   Console::WriteLine( "\nThe OS version of the host computer is:\n\n   {0}", Environment::OSVersion->ToString() );
}

/*
This example of the OperatingSystem constructor and
OperatingSystem::ToString( ) generates the following output.

Create and display several different OperatingSystem objects:

   Microsoft Windows NT 0.0
   Microsoft Win32S 3.11
   Microsoft Windows 98 5.25.625
   Microsoft Windows CE 5.6.7.8
   Microsoft Windows NT 3.5.8.13

The OS version of the host computer is:

   Microsoft Windows NT 5.1.2600.0
*/


Version Information

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 8 Consumer Preview, Windows Server 8 Beta, Windows 7, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also

Reference