Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
CultureInfo.Clone (Método)
Crea una copia de la clase CultureInfo actual.
Ensamblado: mscorlib (en mscorlib.dll)
Se puede escribir en el clon aunque el objeto CultureInfo original sea de sólo lectura. Por consiguiente, se pueden modificar las propiedades del clon.
Una copia superficial de un objeto es una copia sólo del objeto. Si el objeto contiene referencias a otros objetos, la copia superficial no crea copias de los objetos a los que se hace referencia. En su lugar, hace referencia a los objetos originales. Por el contrario, una copia profunda de un objeto crea una copia del objeto y una copia de todo aquello a lo que el objeto hace referencia directa o indirectamente.
El método Clone crea una copia superficial mejorada. También se copian los objetos devueltos por las propiedades NumberFormat, DateTimeFormat, TextInfo y Calendar. Por consiguiente, el objeto CultureInfo clonado puede modificar sus propiedades copiadas sin afectar al objeto CultureInfo original.
En el siguiente ejemplo de código se muestra cómo CultureInfo.Clone también clona las instancias de DateTimeFormatInfo y NumberFormatInfo asociadas a la clase CultureInfo.
using System; using System.Globalization; public class SamplesCultureInfo { public static void Main() { // Creates and initializes a CultureInfo. CultureInfo myCI = new CultureInfo("en-US", false); // Clones myCI and modifies the DTFI and NFI instances associated with the clone. CultureInfo myCIclone = (CultureInfo) myCI.Clone(); myCIclone.DateTimeFormat.AMDesignator = "a.m."; myCIclone.DateTimeFormat.DateSeparator = "-"; myCIclone.NumberFormat.CurrencySymbol = "USD"; myCIclone.NumberFormat.NumberDecimalDigits = 4; // Displays the properties of the DTFI and NFI instances associated with the original and with the clone. Console.WriteLine( "DTFI/NFI PROPERTY\tORIGINAL\tMODIFIED CLONE" ); Console.WriteLine( "DTFI.AMDesignator\t{0}\t\t{1}", myCI.DateTimeFormat.AMDesignator, myCIclone.DateTimeFormat.AMDesignator ); Console.WriteLine( "DTFI.DateSeparator\t{0}\t\t{1}", myCI.DateTimeFormat.DateSeparator, myCIclone.DateTimeFormat.DateSeparator ); Console.WriteLine( "NFI.CurrencySymbol\t{0}\t\t{1}", myCI.NumberFormat.CurrencySymbol, myCIclone.NumberFormat.CurrencySymbol ); Console.WriteLine( "NFI.NumberDecimalDigits\t{0}\t\t{1}", myCI.NumberFormat.NumberDecimalDigits, myCIclone.NumberFormat.NumberDecimalDigits ); } } /* This code produces the following output. DTFI/NFI PROPERTY ORIGINAL MODIFIED CLONE DTFI.AMDesignator AM a.m. DTFI.DateSeparator / - NFI.CurrencySymbol $ USD NFI.NumberDecimalDigits 2 4 */
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.