语言

NumberFormatInfo.Clone 方法

定义

创建对象的 NumberFormatInfo 浅表副本。

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

返回

从原始 NumberFormatInfo 对象复制的新对象。

实现

示例

以下示例使用 Clone 该方法创建表示当前区域性的数字格式约定的对象读 NumberFormatInfo /写副本。

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      NumberFormatInfo nfi = NumberFormatInfo.CurrentInfo;
      Console.WriteLine("Read-Only: {0}\n", nfi.IsReadOnly);

      NumberFormatInfo nfiw = (NumberFormatInfo) nfi.Clone();
      Console.WriteLine("Read-Only: {0}", nfiw.IsReadOnly);
   }
}
// The example displays the following output:
//       Read-Only: True
//
//       Read-Only: False
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim nfi As NumberFormatInfo = NumberFormatInfo.CurrentInfo
      Console.WriteLine("Read-Only: {0}", nfi.IsReadOnly)
      Console.WriteLine()
      Dim nfiw As NumberFormatInfo = CType(nfi.Clone(), NumberFormatInfo)
      Console.WriteLine("Read-Only: {0}", nfiw.IsReadOnly)
   End Sub
End Module
' The example displays the following output:
'       Read-Only: True
'       
'       Read-Only: False

注解

即使原始 NumberFormatInfo 对象是只读的,克隆也是可写的。 因此,可以使用用户定义的模式修改克隆的属性。

对象的浅表副本只是对象的一个副本。 如果对象包含对其他对象的引用,则浅表副本将不会创建引用对象的副本。 它将改为引用原始对象。 另一方面,对象的深层副本将创建对象的副本,以及该对象直接或间接引用的所有内容的副本。 对于 NumberFormatInfo 对象,浅表副本足以复制所有实例属性,因为返回对象引用的所有属性都static(Shared in Visual Basic)。

适用于

另请参阅