TextInfo.ReadOnly(TextInfo) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí verzi určeného TextInfo objektu jen pro čtení.
public:
static System::Globalization::TextInfo ^ ReadOnly(System::Globalization::TextInfo ^ textInfo);
public static System.Globalization.TextInfo ReadOnly (System.Globalization.TextInfo textInfo);
[System.Runtime.InteropServices.ComVisible(false)]
public static System.Globalization.TextInfo ReadOnly (System.Globalization.TextInfo textInfo);
static member ReadOnly : System.Globalization.TextInfo -> System.Globalization.TextInfo
[<System.Runtime.InteropServices.ComVisible(false)>]
static member ReadOnly : System.Globalization.TextInfo -> System.Globalization.TextInfo
Public Shared Function ReadOnly (textInfo As TextInfo) As TextInfo
Parametry
Návraty
Objekt TextInfo určený parametrem textInfo
, pokud textInfo
je jen pro čtení.
-nebo-
Členové klonování objektu TextInfo určeného parametrem textInfo
, pokud textInfo
není jen pro čtení.
- Atributy
Výjimky
textInfo
má hodnotu null.
Příklady
Následující příklad kódu ukazuje Clone metody a ReadOnly .
// This example demonstrates the TextInfo.Clone() and
// TextInfo.ReadOnly() methods.
using System;
using System.Globalization;
class Sample
{
public static void Main()
{
// Get the TextInfo of a predefined culture that ships with
// the .NET Framework.
CultureInfo ci = new CultureInfo("en-US");
TextInfo ti1 = ci.TextInfo;
// Display whether the TextInfo is read-only or not.
DisplayReadOnly("1) The original TextInfo object", ti1);
Console.WriteLine();
// Create a clone of the original TextInfo and cast the clone to a TextInfo type.
Console.WriteLine("2a) Create a clone of the original TextInfo object...");
TextInfo ti2 = (TextInfo)ti1.Clone();
// Display whether the clone is read-only.
DisplayReadOnly("2b) The TextInfo clone", ti2);
// Set the ListSeparator property on the TextInfo clone.
Console.WriteLine("2c) The original value of the clone's ListSeparator " +
"property is \"{0}\".", ti2.ListSeparator);
ti2.ListSeparator = "/";
Console.WriteLine("2d) The new value of the clone's ListSeparator " +
"property is \"{0}\".\n", ti2.ListSeparator);
// Create a read-only clone of the original TextInfo.
Console.WriteLine("3a) Create a read-only clone of the original TextInfo object...");
TextInfo ti3 = TextInfo.ReadOnly(ti1);
// Display whether the read-only clone is actually read-only.
DisplayReadOnly("3b) The TextInfo clone", ti3);
// Try to set the ListSeparator property of a read-only TextInfo object. Use the
// IsReadOnly property again to determine whether to attempt the set operation. You
// could use a try-catch block instead and catch an InvalidOperationException when
// the set operation fails, but that programming technique is inefficient.
Console.WriteLine("3c) Try to set the read-only clone's LineSeparator " +
"property.");
if (ti3.IsReadOnly == true)
{
Console.WriteLine("3d) The set operation is invalid.");
}
else
{
// This clause is not executed.
ti3.ListSeparator = "/";
Console.WriteLine("3d) The new value of the clone's ListSeparator " +
"property is \"{0}\".\n", ti2.ListSeparator);
}
}
private static void DisplayReadOnly(string caption, TextInfo ti)
{
Console.WriteLine("{0} is {1}read-only.",
caption, ti.IsReadOnly ? "" : "not ");
}
}
/*
This code example produces the following results:
1) The original TextInfo object is not read-only.
2a) Create a clone of the original TextInfo object...
2b) The TextInfo clone is not read-only.
2c) The original value of the clone's ListSeparator property is ",".
2d) The new value of the clone's ListSeparator property is "/".
3a) Create a read-only clone of the original TextInfo object...
3b) The TextInfo clone is read-only.
3c) Try to set the read-only clone's LineSeparator property.
3d) The set operation is invalid.
*/
' This example demonstrates the TextInfo.Clone() and
' TextInfo.ReadOnly() methods.
Imports System.Globalization
Class Sample
Public Shared Sub Main()
' Get the TextInfo of a predefined culture that ships with
' the .NET Framework.
Dim ci As New CultureInfo("en-US")
Dim ti1 As TextInfo = ci.TextInfo
' Display whether the TextInfo is read-only or not.
DisplayReadOnly("1) The original TextInfo object", ti1)
Console.WriteLine()
' Create a clone of the original TextInfo and cast the clone to a TextInfo type.
Console.WriteLine("2a) Create a clone of the original TextInfo object...")
Dim ti2 As TextInfo = CType(ti1.Clone(), TextInfo)
' Display whether the clone is read-only.
DisplayReadOnly("2b) The TextInfo clone", ti2)
' Set the ListSeparator property on the TextInfo clone.
Console.WriteLine("2c) The original value of the clone's ListSeparator " & _
"property is ""{0}"".", ti2.ListSeparator)
ti2.ListSeparator = "/"
Console.WriteLine("2d) The new value of the clone's ListSeparator " & _
"property is ""{0}""." & vbCrLf, ti2.ListSeparator)
' Create a read-only clone of the original TextInfo.
Console.WriteLine("3a) Create a read-only clone of the original TextInfo object...")
Dim ti3 As TextInfo = TextInfo.ReadOnly(ti1)
' Display whether the read-only clone is actually read-only.
DisplayReadOnly("3b) The TextInfo clone", ti3)
' Try to set the ListSeparator property of a read-only TextInfo object. Use the
' IsReadOnly property again to determine whether to attempt the set operation. You
' could use a try-catch block instead and catch an InvalidOperationException when
' the set operation fails, but that programming technique is inefficient.
Console.WriteLine("3c) Try to set the read-only clone's LineSeparator property.")
If ti3.IsReadOnly = True Then
Console.WriteLine("3d) The set operation is invalid.")
Else
' This clause is not executed.
ti3.ListSeparator = "/"
Console.WriteLine("3d) The new value of the clone's ListSeparator " & _
"property is ""{0}""." & vbCrLf, ti2.ListSeparator)
End If
End Sub
Private Shared Sub DisplayReadOnly(ByVal caption As String, ByVal ti As TextInfo)
Dim middle As String
If ti.IsReadOnly = True Then
middle = ""
Else
middle = "not "
End If
Console.WriteLine("{0} is {1}read-only.", caption, middle)
End Sub
End Class
'
'This code example produces the following results:
'
'1) The original TextInfo object is not read-only.
'
'2a) Create a clone of the original TextInfo object...
'2b) The TextInfo clone is not read-only.
'2c) The original value of the clone's ListSeparator property is ",".
'2d) The new value of the clone's ListSeparator property is "/".
'
'3a) Create a read-only clone of the original TextInfo object...
'3b) The TextInfo clone is read-only.
'3c) Try to set the read-only clone's LineSeparator property.
'3d) The set operation is invalid.
'
Platí pro
Viz také
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.