OperatingSystem.Clone Method

Definition

Creates an OperatingSystem object that is identical to this instance.

public:
 virtual System::Object ^ Clone();
public object Clone ();
abstract member Clone : unit -> obj
override this.Clone : unit -> obj
Public Function Clone () As Object

Returns

An OperatingSystem object that is a copy of this instance.

Implements

Examples

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 namespace System;

// Copy, clone, and duplicate an OperatingSystem object.
void CopyOperatingSystemObjects()
{
   
   // The Version object does not need to correspond to an 
   // actual OS version.
   Version^ verMMBVer = gcnew Version( 5,6,7,8 );
   OperatingSystem^ opCreate1 = gcnew OperatingSystem( PlatformID::Win32NT,verMMBVer );
   
   // Create another OperatingSystem object with the same 
   // parameters as opCreate1.
   OperatingSystem^ opCreate2 = gcnew OperatingSystem( PlatformID::Win32NT,verMMBVer );
   
   // Clone opCreate1 and copy the opCreate1 reference.
   OperatingSystem^ opClone = safe_cast<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 ) );
}

int 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.
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.
open System

// Copy, clone, and duplicate an OperatingSystem object.
let copyOperatingSystemObjects () =
    // The Version object does not need to correspond to an
    // actual OS version.
    let verMMBVer = Version(5, 6, 7, 8)

    let opCreate1 = OperatingSystem(PlatformID.Win32NT, verMMBVer)

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

    // Clone opCreate1 and copy the opCreate1 reference.
    let opClone = opCreate1.Clone() :?> OperatingSystem
    let opCopy = opCreate1

    // Compare the various objects for equality.
    printfn "%-50s%O" "Is the second object the same as the original?" (opCreate1.Equals opCreate2)
    printfn "%-50s%O" "Is the object clone the same as the original?" (opCreate1.Equals opClone)
    printfn "%-50s%O" "Is the copied object the same as the original?" (opCreate1.Equals opCopy)

printfn
    """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.
"""

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.
Module CloneCompareDemo
    
    ' Copy, clone, and duplicate an OperatingSystem object.
    Sub CopyOperatingSystemObjects( )

        ' The Version object does not need to correspond to an 
        ' actual OS version.
        Dim verMMBVer As New Version( 5, 6, 7, 8 )
            
        Dim opCreate1 As New _
            OperatingSystem( PlatformID.Win32NT, verMMBVer )
            
        ' Create another OperatingSystem object with the same 
        ' parameters as opCreate1.
        Dim opCreate2 As New _
            OperatingSystem( PlatformID.Win32NT, verMMBVer )
            
        ' Clone opCreate1 and copy the opCreate1 reference.
        Dim opClone As OperatingSystem = _
            CType( opCreate1.Clone( ), OperatingSystem )
        Dim opCopy As OperatingSystem = 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 ) )
    End Sub 
        
    Sub Main( )

        Console.WriteLine( _
            "This example of OperatingSystem.Clone( ) " & _
            "generates the following output." & vbCrLf )
        Console.WriteLine( _
            "Create an OperatingSystem object, and then " & _
            "create another object with the " & vbCrLf & _
            "same parameters. Clone and copy the " & _
            "original object, and then compare " & vbCrLf & _
            "each object with the original using the " & _
            "Equals( ) method. Equals( ) " & vbCrLf & _
            "returns true only when both " & _
            "references refer to the same object." & vbCrLf)
            
        CopyOperatingSystemObjects( )

    End Sub 
End Module 

' 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

Applies to