TextInfo.Clone メソッドとは? わかりやすく解説

TextInfo.Clone メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

現在の TextInfo オブジェクトコピーである新しオブジェクト作成します

名前空間: System.Globalization
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(False)> _
Public Overridable Function
 Clone As Object
[ComVisibleAttribute(false)] 
public virtual Object Clone ()
[ComVisibleAttribute(false)] 
public:
virtual Object^ Clone ()
/** @attribute ComVisibleAttribute(false) */ 
public Object Clone ()
ComVisibleAttribute(false) 
public function Clone () : Object

戻り値
現在の TextInfo オブジェクトメンバごとの複製である System.Object の新しインスタンス

解説解説

新しメンバごとの複製読み取り専用ではありません。

使用例使用例

Clone メソッドおよび ReadOnly メソッドコード例次に示します

' This example demonstrates the TextInfo.Clone() and
' TextInfo.ReadOnly() methods.

Imports System
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 'Main
    
    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 'DisplayReadOnly
End Class 'Sample

'
'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.

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.

*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「TextInfo.Clone メソッド」の関連用語

TextInfo.Clone メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



TextInfo.Clone メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS