OperatingSystem.Clone Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Creates an OperatingSystem object that is identical to this instance.

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

Syntax

'Declaration
Public Function Clone As Object
public Object Clone()

Return Value

Type: System.Object
An OperatingSystem object that is a copy of this instance.

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.

Module Example

   ' Copy, clone, and duplicate an OperatingSystem object.
   Sub CopyOperatingSystemObjects(ByVal outputBlock As System.Windows.Controls.TextBlock)

      ' 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.
      outputBlock.Text &= String.Format("{0,-50}{1}", _
          "Is the second object the same as the original?", _
          opCreate1.Equals(opCreate2)) & vbCrLf
      outputBlock.Text &= String.Format("{0,-50}{1}", _
          "Is the object clone the same as the original?", _
          opCreate1.Equals(opClone)) & vbCrLf
      outputBlock.Text &= String.Format("{0,-50}{1}", _
          "Is the copied object the same as the original?", _
          opCreate1.Equals(opCopy)) & vbCrLf
   End Sub

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      outputBlock.Text &= String.Format( _
          "This example of OperatingSystem.Clone( ) " & _
          "generates the following output." & vbCrLf) & vbCrLf
      outputBlock.Text &= String.Format( _
          "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) & vbCrLf

      CopyOperatingSystemObjects(outputBlock)

   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
// Example for the OperatingSystem.Clone method.
using System;

class Example
{
   // Copy, clone, and duplicate an OperatingSystem object.
   static void CopyOperatingSystemObjects(System.Windows.Controls.TextBlock outputBlock)
   {
      // 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.
      outputBlock.Text += String.Format("{0,-50}{1}",
          "Is the second object the same as the original?",
          opCreate1.Equals(opCreate2)) + "\n";
      outputBlock.Text += String.Format("{0,-50}{1}",
          "Is the object clone the same as the original?",
          opCreate1.Equals(opClone)) + "\n";
      outputBlock.Text += String.Format("{0,-50}{1}",
          "Is the copied object the same as the original?",
          opCreate1.Equals(opCopy)) + "\n";
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text += String.Format(
          "This example of OperatingSystem.Clone( ) " +
          "generates the following output.\n") + "\n";
      outputBlock.Text += String.Format(
          "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") + "\n";

      CopyOperatingSystemObjects(outputBlock);
   }
}

/*
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
*/

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.