DesignerSerializationManagerとは? わかりやすく解説

DesignerSerializationManager イベント


パブリック イベントパブリック イベント

  名前 説明
パブリック イベント SessionCreated セッション作成されるときに発生します
パブリック イベント SessionDisposed セッション破棄されるときに発生します
参照参照

関連項目

DesignerSerializationManager クラス
System.ComponentModel.Design.Serialization 名前空間
IDesignerSerializationManager
IDesignerHost インターフェイス
ContextStack クラス
IServiceProvider
BinaryFormatter

DesignerSerializationManager クラス

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

IDesignerSerializationManager インターフェイス実装提供します

名前空間: System.ComponentModel.Design.Serialization
アセンブリ: System.Design (system.design.dll 内)
構文構文

Public Class DesignerSerializationManager
    Implements IDesignerSerializationManager, IServiceProvider
Dim instance As DesignerSerializationManager
public class DesignerSerializationManager :
 IDesignerSerializationManager, IServiceProvider
public ref class DesignerSerializationManager
 : IDesignerSerializationManager, IServiceProvider
public class DesignerSerializationManager implements
 IDesignerSerializationManager, IServiceProvider
public class DesignerSerializationManager implements
 IDesignerSerializationManager, IServiceProvider
解説解説

IDesignerSerializationManager インターフェイスは、シリアル化制御するオブジェクト対する、形式依存しないインターフェイスとしてデザインされています。このインターフェイスは、基本的に実際は逆シリアル化実行するシリアライザにコンテキストサービス提供しますIDesignerSerializationManager は、オブジェクト追跡続けることによって逆シリアル化プロセス支援します。これは、IDesignerHost インターフェイス対す手法においても同様ですデザイナは、実際にユーザー インターフェイス (UI: User Interface) を提供しIDesignerHost は、さまざまなデザイナを結びつけて連動できるようにします。

DesignerSerializationManager クラスは、IDesignerSerializationManager実装しています。このクラスは、BinaryFormatter のような実行時シリアライザと同様の、逆シリアル化汎用的形式提供するようにデザインされています。

DesignerSerializationManager クラスでは、次の 3 つの目標実現してます。

デザイン時のシリアル化は、実行時オブジェクトシリアル化次の点で異なります

これらの相違点から、デザイン時のシリアル化には、別のシリアル化モデル適用されます。このモデルでは、シリアル化対象となるデータ型ごとに個別のシリアライザ オブジェクト利用します。各シリアライザは、問題全体に対してはわずかずつ有効です。これらのシリアライザは、すべて共通のシリアル化マネージャ通じて調整されます。シリアル化マネージャは、これら異なるシリアライザ間で状態を維持する必要があります一例として、次のクラス考えてます。

Public Class SampleObject
   Private stringValue As String
 = Nothing
   Private intValue As Integer
 = Integer.MinValue
   
   
   Public Property StringProperty() As
 String
      Get
         Return Me.stringValue
      End Get 
      Set
         Me.stringValue = value
      End Set
   End Property 
   
   Public Property IntProperty() As
 Integer
      Get
         Return Me.intValue
      End Get 
      Set
         Me.intValue = value
      End Set
   End Property
End Class 
public class SampleObject
{
    private string stringValue = null;
    private int intValue = int.MinValue;

    public string StringProperty 
    { 
        get { return this.stringValue;
 }

        set { this.stringValue = value; }
    }

    public int IntProperty 
    {
        get { return this.intValue;
 }

        set{ this.intValue = value; }
    }
}

このクラスインスタンスは、SampleObject 用、文字列用、整数用の 3 種類のシリアライザを利用しますSampleObjectシリアル化グラフルートであるため、SampleObject のシリアライザは、ルート シリアライザと呼ばれます。さらに複雑なオブジェクト グラフ作成できます。たとえば、SampleObject次のように変更され場合に、何が起こるかを考えてます。

Public Class SampleObject
   Private stringValue As String
 = Nothing
   Private intValue As Integer
 = Integer.MinValue
   Private childValue As SampleObject = Nothing
   
   
   Public Property StringProperty() As
 String
      Get
         Return Me.stringValue
      End Get 
      Set
         Me.stringValue = value
      End Set
   End Property 
   
   Public Property IntProperty() As
 Integer
      Get
         Return Me.intValue
      End Get 
      Set
         Me.intValue = value
      End Set
   End Property 
   
   Public Property Child() As
 SampleObject
      Get
         Return Me.childValue
      End Get 
      Set
         Me.childValue = value
      End Set
   End Property
End Class 
public class SampleObject
{
    private string stringValue = null;
    private int intValue = int.MinValue;
    private SampleObject childValue = null;

    public string StringProperty
    {
        get { return this.stringValue;
 }

        set { this.stringValue = value; }
    }

    public int IntProperty
    {
        get { return this.intValue;
 }

        set { this.intValue = value; }
    }

    public SampleObject Child
    {
        get { return this.childValue;
 }

        set { this.childValue = value; }
    }
}

これにより、SampleObject はそれ自体別のインスタンスである子を持つことができますオブジェクト グラフ次のコード記述します

Class Program
   
   Public Overloads Shared
 Sub Main()
      Main(System.Environment.GetCommandLineArgs())
   End Sub
   
   Overloads Shared Sub
 Main(args() As String)
      Dim root As New SampleObject()
      
      Dim currentObject As SampleObject = root
      
      Dim i As Integer
      For i = 0 To 9
         Dim o As New SampleObject()
         
         currentObject.Child = o
         
         currentObject = o
      Next i
   End Sub 
End Class
class Program
{
    static void Main(string[]
 args)
    {
        SampleObject root = new SampleObject();

        SampleObject currentObject = root;

        for (int i = 0; i < 10; i++)
        {
            SampleObject o = new SampleObject();

            currentObject.Child = o;

            currentObject = o;
        }
    }
}

rootシリアル化するときにはルート シリアライザと、子 SampleObject 用、int 用、string 用の各シリアライザの 4 つのシリアライザが使用されます。シリアライザは型に基づいてキャッシュされるため、SampleObject の各インスタンス用にシリアライザを作成する要はありません。

DesignerSerializationManager クラスは、シリアル化セッション概念基づいてます。セッションでは、さまざまなシリアライザがアクセスできる状態を維持します。セッション破棄されると、この状態も破棄されます。これにより、シリアライザをほとんどの場合状態のないままにしておけます。また、破損した状態にあるシリアライザの削除にも役立ちますセッション内およびセッション間で、状態がどのように管理されるかを次の表に示します

グローバル状態

セッション保有の状態

この状態はセッション保有しセッション破棄されるとこの状態も破棄されます。たがってシリアル化マネージャアクティブセッションない場合、この状態を操作するプロパティまたはメソッドアクセスすると、例外スローさます。

オブジェクト

使い方

ResolveName イベント

ResolveName イベントは、名前の解決提供するためにシリアライザによって接続されます。セッション終了すると、すべてのハンドラはこのイベントから接続解除されます

SerializationComplete イベント

SerializationComplete イベントは、セッション破棄される直前発生しますこの後すべてのハンドラがこのイベントから接続解除されます

名前テーブル

シリアル化マネージャは、オブジェクトとその名前を対応付けるテーブル保持してます。シリアライザは、識別容易にするために、オブジェクトに名前を付けることができますセッション終了すると、この名前テーブル消去されます。

シリアライザのキャッシュ

シリアル化マネージャは、提供を要求されているシリアライザのキャッシュ保持してます。セッション終了すると、このキャッシュ消去されます。パブリック メソッド GetSerializer は、いつでも安全に呼び出すことができますが、その値がキャッシュされるのは、セッション内から呼び出した場合だけです。

コンテキスト スタック

シリアル化マネージャは、コンテキスト スタック呼ばれるオブジェクト保持してます。このオブジェクトには、Context プロパティ使用してアクセスできます。シリアライザはこのスタック使用して、他のシリアライザで使用できる追加情報格納します。たとえば、プロパティ値をシリアル化するシリアライザは、シリアル化する値を要求する前にシリアル化スタックプロパティ名をプッシュできますセッション終了すると、このスタック消去されます。

エラー リスト

シリアル化マネージャは、シリアル化実行時発生したエラーリスト保持してます。このリストには、Errors プロパティからアクセスます。セッション終了すると、エラー リスト消去されます。セッション合間Errors プロパティアクセスすると、例外発生します

継承階層継承階層
System.Object
  System.ComponentModel.Design.Serialization.DesignerSerializationManager
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DesignerSerializationManager メンバ
System.ComponentModel.Design.Serialization 名前空間
IDesignerSerializationManager
IDesignerHost インターフェイス
ContextStack クラス
IServiceProvider
BinaryFormatter

DesignerSerializationManager コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

DesignerSerializationManager クラス新しインスタンス初期化します。

名前空間: System.ComponentModel.Design.Serialization
アセンブリ: System.Design (system.design.dll 内)
構文構文

Dim instance As New DesignerSerializationManager
public DesignerSerializationManager ()
public:
DesignerSerializationManager ()
public DesignerSerializationManager ()
public function DesignerSerializationManager
 ()
解説解説

このコンストラクタは、PreserveNames プロパティと ValidateRecycledTypes プロパティtrue設定します

.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DesignerSerializationManager クラス
DesignerSerializationManager メンバ
System.ComponentModel.Design.Serialization 名前空間
PreserveNames
ValidateRecycledTypes

DesignerSerializationManager コンストラクタ (IServiceProvider)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定したサービス プロバイダで DesignerSerializationManager クラス新しインスタンス初期化します。

名前空間: System.ComponentModel.Design.Serialization
アセンブリ: System.Design (system.design.dll 内)
構文構文

Public Sub New ( _
    provider As IServiceProvider _
)
Dim provider As IServiceProvider

Dim instance As New DesignerSerializationManager(provider)
public DesignerSerializationManager (
    IServiceProvider provider
)
public:
DesignerSerializationManager (
    IServiceProvider^ provider
)
public DesignerSerializationManager (
    IServiceProvider provider
)
public function DesignerSerializationManager
 (
    provider : IServiceProvider
)

パラメータ

provider

IServiceProvider。

例外例外
例外種類条件

ArgumentNullException

providernull 参照 (Visual Basic では Nothing) です。

解説解説
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DesignerSerializationManager クラス
DesignerSerializationManager メンバ
System.ComponentModel.Design.Serialization 名前空間
IServiceProvider
PreserveNames
ValidateRecycledTypes

DesignerSerializationManager コンストラクタ

DesignerSerializationManager クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
DesignerSerializationManager () DesignerSerializationManager クラス新しインスタンス初期化します。
DesignerSerializationManager (IServiceProvider) 指定したサービス プロバイダDesignerSerializationManager クラス新しインスタンス初期化します。
参照参照

関連項目

DesignerSerializationManager クラス
DesignerSerializationManager メンバ
System.ComponentModel.Design.Serialization 名前空間
PreserveNames
ValidateRecycledTypes

DesignerSerializationManager プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ Container このシリアル化マネージャコンテナ取得または設定します
パブリック プロパティ Errors シリアル化または逆シリアル化実行時発生したエラーリスト取得します
パブリック プロパティ PreserveNames CreateInstance メソッドが、コンテナ指定した名前が存在することをチェックする必要があるかどうかを示す値を取得または設定します
パブリック プロパティ PropertyProvider シリアル化マネージャProperties プロパティプロパティ提供する際に使用する必要のあるオブジェクト取得します
パブリック プロパティ RecycleInstances CreateInstance が型の新しインスタンスを常に作成するかどうかを示すフラグ取得または設定します
パブリック プロパティ ValidateRecycledTypes CreateInstance メソッドが、一致する名前が同じ型を参照していることを検査するかどうかを示すフラグ取得または設定します
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.Context このシリアル化セッションコンテキスト スタック取得します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.Properties Properties プロパティ実装ます。
参照参照

関連項目

DesignerSerializationManager クラス
System.ComponentModel.Design.Serialization 名前空間
IDesignerSerializationManager
IDesignerHost インターフェイス
ContextStack クラス
IServiceProvider
BinaryFormatter

DesignerSerializationManager メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.AddSerializationProvider シリアル化マネージャカスタムシリアル化プロバイダ追加します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.CreateInstance CreateInstance メソッド実装ます。
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetInstance 指定した名前の作成済みオブジェクトインスタンス取得します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetName 指定したオブジェクトの名前を取得します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetSerializer 指定したオブジェクト型対応する要求された型のシリアライザを取得します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetType 指定した名前の型を取得します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.RemoveSerializationProvider 以前追加したシリアル化プロバイダ削除します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.ReportError シリアル化における回復可能なエラー報告使用します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.SetName 指定したオブジェクトの名前を設定します
インターフェイスの明示的な実装 System.IServiceProvider.GetService このメンバ説明については、GetService メソッドに関するトピック参照してください
参照参照

関連項目

DesignerSerializationManager クラス
System.ComponentModel.Design.Serialization 名前空間
IDesignerSerializationManager
IDesignerHost インターフェイス
ContextStack クラス
IServiceProvider
BinaryFormatter

DesignerSerializationManager メンバ

IDesignerSerializationManager インターフェイス実装提供します

DesignerSerializationManager データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド DesignerSerializationManager オーバーロードされます。 DesignerSerializationManager クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ Container このシリアル化マネージャコンテナ取得または設定します
パブリック プロパティ Errors シリアル化または逆シリアル化実行時発生したエラーリスト取得します
パブリック プロパティ PreserveNames CreateInstance メソッドが、コンテナ指定した名前が存在することをチェックする必要があるかどうかを示す値を取得または設定します
パブリック プロパティ PropertyProvider シリアル化マネージャProperties プロパティプロパティ提供する際に使用する必要のあるオブジェクト取得します
パブリック プロパティ RecycleInstances CreateInstance が型の新しインスタンスを常に作成するかどうかを示すフラグ取得または設定します
パブリック プロパティ ValidateRecycledTypes CreateInstance メソッドが、一致する名前が同じ型を参照していることを検査するかどうかを示すフラグ取得または設定します
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
パブリック イベントパブリック イベント
  名前 説明
パブリック イベント SessionCreated セッション作成されるときに発生します
パブリック イベント SessionDisposed セッション破棄されるときに発生します
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.AddSerializationProvider シリアル化マネージャカスタムシリアル化プロバイダ追加します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.CreateInstance CreateInstance メソッド実装ます。
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetInstance 指定した名前の作成済みオブジェクトインスタンス取得します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetName 指定したオブジェクトの名前を取得します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetSerializer 指定したオブジェクト型対応する要求された型のシリアライザを取得します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetType 指定した名前の型を取得します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.RemoveSerializationProvider 以前追加したシリアル化プロバイダ削除します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.ReportError シリアル化における回復可能なエラー報告使用します
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.SetName 指定したオブジェクトの名前を設定します
インターフェイスの明示的な実装 System.IServiceProvider.GetService このメンバ説明については、GetService メソッドに関するトピック参照してください
インターフェイスの明示的な実装 System.ComponentModel.Design.Serialization.IDesignerSerializationManager.SerializationComplete  
参照参照

関連項目

DesignerSerializationManager クラス
System.ComponentModel.Design.Serialization 名前空間
IDesignerSerializationManager
IDesignerHost インターフェイス
ContextStack クラス
IServiceProvider
BinaryFormatter


このページでは「.NET Framework クラス ライブラリ リファレンス」からDesignerSerializationManagerを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDesignerSerializationManagerを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDesignerSerializationManager を検索

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

辞書ショートカット

すべての辞書の索引

「DesignerSerializationManager」の関連用語

DesignerSerializationManagerのお隣キーワード
検索ランキング

   

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



DesignerSerializationManagerのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS