This documentation is archived and is not being maintained.

OperatingSystem.Clone Method

Creates an OperatingSystem object that is identical to this instance.

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

public Object Clone ()
public final Object Clone ()
public final function Clone () : Object
Not applicable.

Return Value

An OperatingSystem object that is a copy of this instance.

The following code example illustrates the use of the Clone method to make a copy of an OperatingSystem object. The clone is compared with the original object to show that they are not the same object.

// Example for the OperatingSystem.Clone method.
using System;

class CloneCompareDemo
{
    // Copy, clone, and duplicate an OperatingSystem object.
    static void CopyOperatingSystemObjects( )
    {
        // The Version object does not need to correspond to an 
        // actual OS version.
        Version verMMBVer = new Version( 5, 6, 7, 8 );
            
        OperatingSystem opCreate1 = new 
            OperatingSystem( PlatformID.Win32NT, verMMBVer );
            
        // Create another OperatingSystem object with the same 
        // parameters as opCreate1.
        OperatingSystem opCreate2 = new 
            OperatingSystem( PlatformID.Win32NT, verMMBVer );
            
        // Clone opCreate1 and copy the opCreate1 reference.
        OperatingSystem opClone = 
            (OperatingSystem)opCreate1.Clone( );
        OperatingSystem opCopy = opCreate1;

        // Compare the various objects for equality.
        Console.WriteLine( "{0,-50}{1}", 
            "Is the second object the same as the original?", 
            opCreate1.Equals( opCreate2 ) );
        Console.WriteLine( "{0,-50}{1}", 
            "Is the object clone the same as the original?", 
            opCreate1.Equals( opClone ) );
        Console.WriteLine( "{0,-50}{1}", 
            "Is the copied object the same as the original?", 
            opCreate1.Equals( opCopy ) );
    } 
        
    static void Main( )
    {
        Console.WriteLine(
            "This example of OperatingSystem.Clone( ) " +
            "generates the following output.\n" );
        Console.WriteLine(
            "Create an OperatingSystem object, and then " +
            "create another object with the \n" +
            "same parameters. Clone and copy the original " +
            "object, and then compare \n" +
            "each object with the original " +
            "using the Equals( ) method. Equals( ) \n" +
            "returns true only when both " +
            "references refer to the same object.\n" );
            
        CopyOperatingSystemObjects( );
    } 
} 

/*
This example of OperatingSystem.Clone( ) generates the following output.

Create an OperatingSystem object, and then create another object with the
same parameters. Clone and copy the original object, and then compare
each object with the original using the Equals( ) method. Equals( )
returns true only when both references refer to the same object.

Is the second object the same as the original?    False
Is the object clone the same as the original?     False
Is the copied object the same as the original?    True
*/

// Example for the OperatingSystem.Clone method.
import System.*;

class CloneCompareDemo
{
    // Copy, clone, and duplicate an OperatingSystem object.
    static void CopyOperatingSystemObjects()
    {
        // The Version object does not need to correspond to an 
        // actual OS version.
        Version verMMBVer = new Version(5, 6, 7, 8);
        OperatingSystem opCreate1 =
            new OperatingSystem(PlatformID.Win32NT, verMMBVer);

        // Create another OperatingSystem object with the same 
        // parameters as opCreate1.
        OperatingSystem opCreate2 =
            new OperatingSystem(PlatformID.Win32NT, verMMBVer);

        // Clone opCreate1 and copy the opCreate1 reference.
        OperatingSystem opClone = ((OperatingSystem)(opCreate1.Clone()));
        OperatingSystem opCopy = opCreate1;

        // Compare the various objects for equality.
        Console.WriteLine("{0,-50}{1}",
            "Is the second object the same as the original?",
            System.Convert.ToString(opCreate1.Equals(opCreate2)));
        Console.WriteLine("{0,-50}{1}", 
            "Is the object clone the same as the original?",
            System.Convert.ToString(opCreate1.Equals(opClone)));
        Console.WriteLine("{0,-50}{1}", 
            "Is the copied object the same as the original?",
            System.Convert.ToString(opCreate1.Equals(opCopy)));
    } //CopyOperatingSystemObjects

    public static void main(String[] args)
    {
        Console.WriteLine(("This example of OperatingSystem.Clone( ) " 
            + "generates the following output.\n"));
        Console.WriteLine(("Create an OperatingSystem object, and then "
            + "create another object with the \n" 
            + "same parameters. Clone and copy the original "
            + "object, and then compare \n" + "each object with the original "
            + "using the Equals( ) method. Equals( ) \n" 
            + "returns true only when both " 
            + "references refer to the same object.\n"));
        CopyOperatingSystemObjects();
    } //main
} //CloneCompareDemo

/*
This example of OperatingSystem.Clone( ) generates the following output.

Create an OperatingSystem object, and then create another object with the
same parameters. Clone and copy the original object, and then compare
each object with the original using the Equals( ) method. Equals( )
returns true only when both references refer to the same object.

Is the second object the same as the original?    False
Is the object clone the same as the original?     False
Is the copied object the same as the original?    True
*/

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0
Show: