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

StateManagedCollection クラス

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

IStateManager オブジェクトを管理する厳密に型指定されたすべてのコレクションの基本クラスを提供します。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public MustInherit Class
 StateManagedCollection
    Implements IList, ICollection, IEnumerable, IStateManager
Dim instance As StateManagedCollection
public abstract class StateManagedCollection
 : IList, ICollection, IEnumerable, 
    IStateManager
public ref class StateManagedCollection abstract
 : IList, ICollection, IEnumerable, 
    IStateManager
public abstract class StateManagedCollection
 implements IList, ICollection, 
    IEnumerable, IStateManager
public abstract class StateManagedCollection
 implements IList, ICollection, 
    IEnumerable, IStateManager
解説解説

StateManagedCollection クラスは、IStateManager 要素が格納される厳密に型指定されたすべてのコレクションの基本クラスです。たとえば、DataControlFieldCollection、ParameterCollection、StyleCollection、TreeNodeBindingCollection などがあります。StateManagedCollection コレクションは、それ自身の状態と、含まれる要素の状態とを管理します。したがって、System.Web.UI.IStateManager.SaveViewState の呼び出しによって、そのコレクションの状態と、そのコレクションに現在格納されているすべての要素の状態が保存されます。

StateManagedCollection クラスからの派生において、注意を要する重要なメソッドは CreateKnownType、GetKnownTypes、OnValidate、SetDirty、および SetDirtyObject です。CreateKnownType メソッドと GetKnownTypes メソッドは、コレクション要素の型のインデックスをビューステートに格納する目的で使用されます。完全修飾型名ではなくインデックスを格納することにより、パフォーマンスが向上します。OnValidate メソッドは、コレクションの要素が操作されるときに呼び出され、ビジネス ルールに従ってその要素を検証します。現在、OnValidate メソッドの実装により、null 参照 (Visual Basic では Nothing) オブジェクトはコレクションに格納できないようになっていますが、このメソッドをオーバーライドすることにより、派生型において独自の検証動作を定義できます。SetDirty メソッドは、前回の読み込み以降、状態に対して行われた変更のみをシリアル化するのではなく、強制的にコレクション全体をビューステートにシリアル化します。SetDirtyObject メソッドは、要素レベルでこの同じ動作を実行するために実装できる抽象メソッドです。

注意に関するメモ注意

StateManagedCollection は、コレクション項目のアセンブリ修飾型名をビューステートに格納します。サイトの訪問者は、ビューステートをデコードして型名を取得できます。このようにすると Web サイトでセキュリティ上の問題がある場合は、手動で型名を暗号化してからビューステートに格納できます。

使用例使用例

IStateManager オブジェクトを格納する厳密に型指定されたコレクション クラスを StateManagedCollection から派生して作成する方法を次のコード例に示します。この例では、CycleCollection は、Bicycle オブジェクトと Tricycle オブジェクトの両方を含む、抽象 Cycle クラスのインスタンスを格納するための派生クラスです。Cycle クラスは、ビューステートに CycleColor プロパティ値を格納するため、IStateManager インターフェイスを実装しています。

Imports System
Imports System.Security.Permissions
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Web
Imports System.Web.UI
 
Namespace Samples.AspNet.VB.Controls
    '////////////////////////////////////////////////////////////
    '
    ' The strongly typed CycleCollection class is a collection
    ' that contains Cycle class instances, which implement the
    ' IStateManager interface.
    '
    '////////////////////////////////////////////////////////////
    <AspNetHostingPermission(SecurityAction.Demand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
                   Public NotInheritable Class
 CycleCollection
        Inherits StateManagedCollection

        Private Shared _typesOfCycles() As
 Type = _
            {GetType(Bicycle), GetType(Tricycle)}

        Protected Overrides Function
 CreateKnownType(ByVal index As Integer)
 As Object
            Select Case index
                Case 0
                    Return New Bicycle()
                Case 1
                    Return New Tricycle()
                Case Else
                    Throw New ArgumentOutOfRangeException("Unknown
 Type")
            End Select

        End Function


        Protected Overrides Function
 GetKnownTypes() As Type()
            Return _typesOfCycles

        End Function


        Protected Overrides Sub
 SetDirtyObject(ByVal o As Object)
            CType(o, Cycle).SetDirty()

        End Sub
    End Class
    '////////////////////////////////////////////////////////////
    '
    ' The abstract Cycle class represents bicycles and tricycles.
    '
    '////////////////////////////////////////////////////////////

    MustInherit Public Class
 Cycle
        Implements IStateManager


        Friend Protected Sub
 New(ByVal numWheels As
 Integer) 
            MyClass.New(numWheels, "Red")

        End Sub

        Friend Protected Sub
 New(ByVal numWheels As
 Integer, ByVal color As String) 
            numOfWheels = numWheels
            CycleColor = color

        End Sub

        Private numOfWheels As Integer
 = 0    
        Public ReadOnly Property
 NumberOfWheels() As Integer 
            Get
                Return numOfWheels
            End Get
        End Property 

        Public Property CycleColor() As
 String 
            Get
                Dim o As Object
 = ViewState("Color")
                If o Is Nothing
 Then 
                    Return String.Empty
                Else  
                    Return o.ToString()
                End If            
            End Get
            Set
                ViewState("Color") = value
            End Set
        End Property


        Friend Sub SetDirty() 
            ViewState.SetDirty(True)

        End Sub

        ' Because Cycle does not derive from Control, it does not 
        ' have access to an inherited view state StateBag object.
        Private cycleViewState As StateBag

        Private ReadOnly Property
 ViewState() As StateBag 
            Get
                If cycleViewState Is Nothing
 Then
                    cycleViewState = New StateBag(False)
                    If trackingViewState Then
                        CType(cycleViewState, IStateManager).TrackViewState()
                    End If
                End If
                Return cycleViewState
            End Get
        End Property

        ' The IStateManager implementation.
        Private trackingViewState As Boolean

        ReadOnly Property IsTrackingViewState()
 As Boolean _
            Implements IStateManager.IsTrackingViewState
            Get
                Return trackingViewState
            End Get
        End Property


        Sub LoadViewState(ByVal savedState
 As Object) _
            Implements IStateManager.LoadViewState
            Dim cycleState As Object()
 = CType(savedState, Object())

            ' In SaveViewState, an array of one element is created.
            ' Therefore, if the array passed to LoadViewState has 
            ' more than one element, it is invalid.
            If cycleState.Length <> 1 Then
                Throw New ArgumentException("Invalid
 Cycle View State")
            End If

            ' Call LoadViewState on the StateBag object.
            CType(ViewState, IStateManager).LoadViewState(cycleState(0))

        End Sub


        ' Save the view state by calling the StateBag's SaveViewState
        ' method.
        Function SaveViewState() As Object
 Implements IStateManager.SaveViewState
            Dim cycleState(0) As Object

            If Not (cycleViewState Is
 Nothing) Then
                cycleState(0) = _
                CType(cycleViewState, IStateManager).SaveViewState()
            End If
            Return cycleState

        End Function


        ' Begin tracking view state. Check the private variable, because
 
        ' if the view state has not been accessed or set, then it is
 not being 
        ' used and there is no reason to store any view state.
        Sub TrackViewState() Implements IStateManager.TrackViewState
            trackingViewState = True
            If Not (cycleViewState Is
 Nothing) Then
                CType(cycleViewState, IStateManager).TrackViewState()
            End If

        End Sub
    End Class


    Public NotInheritable Class
 Bicycle
        Inherits Cycle


        ' Create a red Cycle with two wheels.
        Public Sub New()
            MyBase.New(2)

        End Sub
    End Class

    Public NotInheritable Class
 Tricycle
        Inherits Cycle


        ' Create a red Cycle with three wheels.
        Public Sub New()
            MyBase.New(3)

        End Sub
    End Class
End Namespace
namespace Samples.AspNet.CS.Controls {

    using System;
    using System.Security.Permissions;
    using System.Collections;
    using System.ComponentModel;
    using System.Drawing;           
    using System.Web;
    using System.Web.UI;            
    //////////////////////////////////////////////////////////////
    //
    // The strongly typed CycleCollection class is a collection
    // that contains Cycle class instances, which implement the
    // IStateManager interface.
    //
    //////////////////////////////////////////////////////////////
    [AspNetHostingPermission(SecurityAction.Demand, 
        Level=AspNetHostingPermissionLevel.Minimal)]
    public sealed class CycleCollection : StateManagedCollection
 {
        
        private static readonly Type[] _typesOfCycles
 
            = new Type[] { typeof(Bicycle), typeof(Tricycle) };

        protected override object CreateKnownType(int
 index) {
            switch(index) {
                case 0:
                    return new Bicycle();
                case 1:
                    return new Tricycle();
                    
                default:
                    throw new ArgumentOutOfRangeException("Unknown
 Type");
            }            
        }

        protected override Type[] GetKnownTypes() {
            return _typesOfCycles;
        }

        protected override void SetDirtyObject(object
 o) {
            ((Cycle)o).SetDirty();
        }

    }
    //////////////////////////////////////////////////////////////
    //
    // The abstract Cycle class represents bicycles and tricycles.
    //
    //////////////////////////////////////////////////////////////
    public abstract class Cycle : IStateManager
 {

        protected internal Cycle(int numWheels)
 : this(numWheels, "Red"){ }
        
        protected internal Cycle(int numWheels,
 String color) {    
            numberOfWheels = numWheels;
            CycleColor = color;
        }
        
        private int numberOfWheels = 0;
        public int NumberOfWheels {
            get { return numberOfWheels; }
        }
        
        public string CycleColor {
            get { 
                object o = ViewState["Color"];
                return (null == o) ? String.Empty
 : o.ToString() ;
            }
            set {
                ViewState["Color"] = value;            
            }        
        }

        internal void SetDirty() {
            ViewState.SetDirty(true);
        }
        
        // Because Cycle does not derive from Control, it does not 
        // have access to an inherited view state StateBag object.
        private StateBag viewState;
        private StateBag ViewState {
            get {
                if (viewState == null) {
                    viewState = new StateBag(false);
                    if (isTrackingViewState) {
                        ((IStateManager)viewState).TrackViewState();
                    }
                }
                return viewState;
            }
        }

        // The IStateManager implementation.
        private bool isTrackingViewState;
        bool IStateManager.IsTrackingViewState {
            get {
                return isTrackingViewState;
            }
        }

        void IStateManager.LoadViewState(object savedState) {
            object[] cycleState = (object[]) savedState;
            
            // In SaveViewState, an array of one element is created.
            // Therefore, if the array passed to LoadViewState has 
            // more than one element, it is invalid.
            if (cycleState.Length != 1) {
                throw new ArgumentException("Invalid Cycle
 View State");
            }
            
            // Call LoadViewState on the StateBag object.
            ((IStateManager)ViewState).LoadViewState(cycleState[0]);
        }

        // Save the view state by calling the StateBag's SaveViewState
        // method.
        object IStateManager.SaveViewState() {
            object[] cycleState = new object[1];

            if (viewState != null) {
                cycleState[0] = ((IStateManager)viewState).SaveViewState();
            }
            return cycleState;
        }

        // Begin tracking view state. Check the private variable, because
 
        // if the view state has not been accessed or set, then it is
 not  
        // being used and there is no reason to store any view state.
        void IStateManager.TrackViewState() {
            isTrackingViewState = true;
            if (viewState != null) {
                ((IStateManager)viewState).TrackViewState();
            }
        }        
    }

    public sealed class Bicycle : Cycle {
    
        // Create a red Cycle with two wheels.
        public Bicycle() : base(2) {}    
    }
    
    public sealed class Tricycle : Cycle {
    
        // Create a red Cycle with three wheels.
        public Tricycle() : base(3) {}
    }

}
継承階層継承階層
System.Object
  System.Web.UI.StateManagedCollection
     派生クラス
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
StateManagedCollection メンバ
System.Web.UI 名前空間
IStateManager インターフェイス
StateBag クラス

StateManagedCollection コンストラクタ


StateManagedCollection プロパティ


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

  名前 説明
パブリック プロパティ Count StateManagedCollection コレクションに格納されている要素の数を取得します。
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.ICollection.Count StateManagedCollection コレクションに格納されている要素の数を取得します。
インターフェイスの明示的な実装 System.Collections.ICollection.IsSynchronized StateManagedCollection コレクションが同期されている (スレッド セーフである) かどうかを示す値を取得します。このメソッドは、常に false を返します。
インターフェイスの明示的な実装 System.Collections.ICollection.SyncRoot StateManagedCollection コレクションへのアクセスを同期するために使用できるオブジェクトを取得します。このメソッドは、常に null 参照 (Visual Basic では Nothing) を返します。
インターフェイスの明示的な実装 System.Collections.IList.IsFixedSize StateManagedCollection コレクションが固定サイズかどうかを示す値を取得します。このメソッドは、常に false を返します。
インターフェイスの明示的な実装 System.Collections.IList.IsReadOnly StateManagedCollection コレクションが読み取り専用かどうかを示す値を取得します。
インターフェイスの明示的な実装 System.Collections.IList.Item 指定したインデックス位置にある IStateManager 要素を取得します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.IsTrackingViewState StateManagedCollection コレクションがビューステートへの変更を保存しているかどうかを示す値を取得します。
参照参照

関連項目

StateManagedCollection クラス
System.Web.UI 名前空間
IStateManager インターフェイス
StateBag クラス

StateManagedCollection メソッド


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

プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド CreateKnownType 派生クラスでオーバーライドされた場合、IStateManager を実装するクラスのインスタンスを作成します。作成されるオブジェクトの型は、GetKnownTypes メソッドから返されるコレクションの指定されたメンバに基づきます。
プロテクト メソッド Finalize  Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。)
プロテクト メソッド GetKnownTypes 派生クラスでオーバーライドされた場合、StateManagedCollection コレクションに格納できる IStateManager 型の配列を取得します。
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 ( Object から継承されます。)
プロテクト メソッド OnClear 派生クラスでオーバーライドされた場合、Clear メソッドによってコレクションからすべての項目が削除される前の補足作業を実行します。
プロテクト メソッド OnClearComplete 派生クラスでオーバーライドされた場合、Clear メソッドによってコレクションからすべての項目が削除された後の補足作業を実行します。
プロテクト メソッド OnInsert 派生クラスでオーバーライドされた場合、 System.Collections.IList.Insert メソッドまたは System.Collections.IList.Add メソッドによってコレクションに項目が追加される前の補足作業を実行します。
プロテクト メソッド OnInsertComplete 派生クラスでオーバーライドされた場合、 System.Collections.IList.Insert メソッドまたは System.Collections.IList.Add メソッドによってコレクションに項目が追加された後の補足作業を実行します。
プロテクト メソッド OnRemove 派生クラスでオーバーライドされた場合、System.Collections.IList.Remove メソッドまたは System.Collections.IList.RemoveAt メソッドによって、指定された項目がコレクションから削除される前の補足作業を実行します。
プロテクト メソッド OnRemoveComplete 派生クラスでオーバーライドされた場合、System.Collections.IList.Remove メソッドまたは System.Collections.IList.RemoveAt メソッドによって、指定された項目がコレクションから削除された後の補足作業を実行します。
プロテクト メソッド OnValidate 派生クラスでオーバーライドされた場合、StateManagedCollection コレクションの要素を検証します。
プロテクト メソッド SetDirtyObject 派生クラスでオーバーライドされた場合、コレクションに格納されている object に、変更情報だけでなく、その状態全体をビューステートに記録するよう指示します。
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IEnumerable.GetEnumerator StateManagedCollection コレクションを反復処理する反復子を返します。
インターフェイスの明示的な実装 System.Collections.IList.Add 項目を StateManagedCollection コレクションに追加します。
インターフェイスの明示的な実装 System.Collections.IList.Clear StateManagedCollection コレクションからすべての項目を削除します。
インターフェイスの明示的な実装 System.Collections.IList.Contains StateManagedCollection コレクションに特定の値が格納されているかどうかを判断します。
インターフェイスの明示的な実装 System.Collections.IList.IndexOf StateManagedCollection コレクション内での指定した項目のインデックスを調べます。
インターフェイスの明示的な実装 System.Collections.IList.Insert StateManagedCollection コレクション内の指定したインデックスの位置に項目を挿入します。
インターフェイスの明示的な実装 System.Collections.IList.Remove 指定したオブジェクトのうち、StateManagedCollection コレクションで最初に出現したオブジェクトを削除します。
インターフェイスの明示的な実装 System.Collections.IList.RemoveAt 指定したインデックス位置にある IStateManager 要素を削除します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.LoadViewState StateManagedCollection コレクションと、そのコレクションに格納されている IStateManager 項目の保存されているビューステートを復元します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.SaveViewState ページがサーバーにポストバックされた時間以降に発生した、StateManagedCollection コレクションと各 IStateManager オブジェクトへの変更を保存します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.TrackViewState StateManagedCollection コレクションとその各 IStateManager オブジェクトにビューステートへの変更を追跡させ、同じページに対する要求間でこれらが永続化されるようにします。
参照参照

関連項目

StateManagedCollection クラス
System.Web.UI 名前空間
IStateManager インターフェイス
StateBag クラス

StateManagedCollection メンバ

IStateManager オブジェクトを管理する厳密に型指定されたすべてのコレクションの基本クラスを提供します。

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


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド StateManagedCollection StateManagedCollection クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ Count StateManagedCollection コレクションに格納されている要素の数を取得します。
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド CreateKnownType 派生クラスでオーバーライドされた場合、IStateManager を実装するクラスのインスタンスを作成します。作成されるオブジェクトの型は、GetKnownTypes メソッドから返されるコレクションの指定されたメンバに基づきます。
プロテクト メソッド Finalize  Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
プロテクト メソッド GetKnownTypes 派生クラスでオーバーライドされた場合、StateManagedCollection コレクションに格納できる IStateManager 型の配列を取得します。
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド OnClear 派生クラスでオーバーライドされた場合、Clear メソッドによってコレクションからすべての項目が削除される前の補足作業を実行します。
プロテクト メソッド OnClearComplete 派生クラスでオーバーライドされた場合、Clear メソッドによってコレクションからすべての項目が削除された後の補足作業を実行します。
プロテクト メソッド OnInsert 派生クラスでオーバーライドされた場合、 System.Collections.IList.Insert メソッドまたは System.Collections.IList.Add メソッドによってコレクションに項目が追加される前の補足作業を実行します。
プロテクト メソッド OnInsertComplete 派生クラスでオーバーライドされた場合、 System.Collections.IList.Insert メソッドまたは System.Collections.IList.Add メソッドによってコレクションに項目が追加された後の補足作業を実行します。
プロテクト メソッド OnRemove 派生クラスでオーバーライドされた場合、System.Collections.IList.Remove メソッドまたは System.Collections.IList.RemoveAt メソッドによって、指定された項目がコレクションから削除される前の補足作業を実行します。
プロテクト メソッド OnRemoveComplete 派生クラスでオーバーライドされた場合、System.Collections.IList.Remove メソッドまたは System.Collections.IList.RemoveAt メソッドによって、指定された項目がコレクションから削除された後の補足作業を実行します。
プロテクト メソッド OnValidate 派生クラスでオーバーライドされた場合、StateManagedCollection コレクションの要素を検証します。
プロテクト メソッド SetDirtyObject 派生クラスでオーバーライドされた場合、コレクションに格納されている object に、変更情報だけでなく、その状態全体をビューステートに記録するよう指示します。
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IEnumerable.GetEnumerator StateManagedCollection コレクションを反復処理する反復子を返します。
インターフェイスの明示的な実装 System.Collections.IList.Add 項目を StateManagedCollection コレクションに追加します。
インターフェイスの明示的な実装 System.Collections.IList.Clear StateManagedCollection コレクションからすべての項目を削除します。
インターフェイスの明示的な実装 System.Collections.IList.Contains StateManagedCollection コレクションに特定の値が格納されているかどうかを判断します。
インターフェイスの明示的な実装 System.Collections.IList.IndexOf StateManagedCollection コレクション内での指定した項目のインデックスを調べます。
インターフェイスの明示的な実装 System.Collections.IList.Insert StateManagedCollection コレクション内の指定したインデックスの位置に項目を挿入します。
インターフェイスの明示的な実装 System.Collections.IList.Remove 指定したオブジェクトのうち、StateManagedCollection コレクションで最初に出現したオブジェクトを削除します。
インターフェイスの明示的な実装 System.Collections.IList.RemoveAt 指定したインデックス位置にある IStateManager 要素を削除します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.LoadViewState StateManagedCollection コレクションと、そのコレクションに格納されている IStateManager 項目の保存されているビューステートを復元します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.SaveViewState ページがサーバーにポストバックされた時間以降に発生した、StateManagedCollection コレクションと各 IStateManager オブジェクトへの変更を保存します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.TrackViewState StateManagedCollection コレクションとその各 IStateManager オブジェクトにビューステートへの変更を追跡させ、同じページに対する要求間でこれらが永続化されるようにします。
インターフェイスの明示的な実装 System.Collections.ICollection.Count StateManagedCollection コレクションに格納されている要素の数を取得します。
インターフェイスの明示的な実装 System.Collections.ICollection.IsSynchronized StateManagedCollection コレクションが同期されている (スレッド セーフである) かどうかを示す値を取得します。このメソッドは、常に false を返します。
インターフェイスの明示的な実装 System.Collections.ICollection.SyncRoot StateManagedCollection コレクションへのアクセスを同期するために使用できるオブジェクトを取得します。このメソッドは、常に null 参照 (Visual Basic では Nothing) を返します。
インターフェイスの明示的な実装 System.Collections.IList.IsFixedSize StateManagedCollection コレクションが固定サイズかどうかを示す値を取得します。このメソッドは、常に false を返します。
インターフェイスの明示的な実装 System.Collections.IList.IsReadOnly StateManagedCollection コレクションが読み取り専用かどうかを示す値を取得します。
インターフェイスの明示的な実装 System.Collections.IList.Item 指定したインデックス位置にある IStateManager 要素を取得します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.IsTrackingViewState StateManagedCollection コレクションがビューステートへの変更を保存しているかどうかを示す値を取得します。
参照参照

関連項目

StateManagedCollection クラス
System.Web.UI 名前空間
IStateManager インターフェイス
StateBag クラス



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「StateManagedCollection」の関連用語

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

   

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



StateManagedCollectionのページの著作権

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

©2026 GRAS Group, Inc.RSS