CultureInfo.Clone Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een kopie van de huidige CultureInfo.
public:
virtual System::Object ^ Clone();
public virtual object Clone();
abstract member Clone : unit -> obj
override this.Clone : unit -> obj
Public Overridable Function Clone () As Object
Retouren
Een kopie van de huidige CultureInfo.
Implementeringen
Voorbeelden
In het volgende codevoorbeeld ziet u dat CultureInfo.Clone ook de DateTimeFormatInfo en NumberFormatInfo instanties kloont die zijn gekoppeld aan de 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
*/
Imports System.Globalization
Public Class SamplesCultureInfo
Public Shared Sub Main()
' Creates and initializes a CultureInfo.
Dim myCI As New CultureInfo("en-US", False)
' Clones myCI and modifies the DTFI and NFI instances associated with the clone.
Dim myCIclone As CultureInfo = CType(myCI.Clone(), CultureInfo)
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" + ControlChars.Tab + "ORIGINAL" + ControlChars.Tab + "MODIFIED CLONE")
Console.WriteLine("DTFI.AMDesignator" + ControlChars.Tab + "{0}" + ControlChars.Tab + ControlChars.Tab + "{1}", myCI.DateTimeFormat.AMDesignator, myCIclone.DateTimeFormat.AMDesignator)
Console.WriteLine("DTFI.DateSeparator" + ControlChars.Tab + "{0}" + ControlChars.Tab + ControlChars.Tab + "{1}", myCI.DateTimeFormat.DateSeparator, myCIclone.DateTimeFormat.DateSeparator)
Console.WriteLine("NFI.CurrencySymbol" + ControlChars.Tab + "{0}" + ControlChars.Tab + ControlChars.Tab + "{1}", myCI.NumberFormat.CurrencySymbol, myCIclone.NumberFormat.CurrencySymbol)
Console.WriteLine("NFI.NumberDecimalDigits" + ControlChars.Tab + "{0}" + ControlChars.Tab + ControlChars.Tab + "{1}", myCI.NumberFormat.NumberDecimalDigits, myCIclone.NumberFormat.NumberDecimalDigits)
End Sub
End Class
' 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
Opmerkingen
De kloon kan worden geschreven, zelfs als het origineel CultureInfo alleen-lezen is. Daarom kunnen de eigenschappen van de kloon worden gewijzigd.
Een ondiepe kopie van een object is alleen een kopie van het object. Als het object verwijzingen naar andere objecten bevat, maakt de ondiepe kopie geen kopieën van de bedoelde objecten. Het verwijst in plaats daarvan naar de oorspronkelijke objecten. Een diepe kopie van een object maakt daarentegen een kopie van het object en een kopie van alles waarnaar rechtstreeks of indirect wordt verwezen door dat object.
De Clone methode maakt een verbeterde ondiepe kopie. De objecten die worden geretourneerd door de NumberFormat, DateTimeFormaten TextInfoeigenschappen Calendar , worden ook gekopieerd. Daarom kan het gekloonde CultureInfo object de gekopieerde eigenschappen wijzigen zonder dat dit van invloed is op het oorspronkelijke CultureInfo object.