This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

StateManagedCollection.CreateKnownType أسلوب

Visual Studio 2010

عند تجاوز في مشتق فئة، قم بإنشاء مثيل من فئة الذي يطبق IStateManager. نوع كائن تم إنشاؤه هو استناداً إلى المحدد عضو في المجموعة التي تم إرجاعها بواسطة GetKnownTypesالأسلوب.

مساحة الاسم:  System.Web.UI
التجميع:  System.Web (في System.Web.dll)

protected virtual Object CreateKnownType(
	int index
)

المعلمات

index
النوع: System.Int32
الفهرس، من قائمة مرتبة أنواع التي يتم إرجاعها بواسطة GetKnownTypes، من النوع IStateManagerلإنشاء.

القيمة المُرجعة

النوع: System.Object
مثيل لفئة مشتقة من IStateManager، according إلى indexالمتوفرة.

استثناء:شرط
InvalidOperationException

في الجميع حالات عند عدم تجاوز في فئة مشتقة.

CreateKnownType أسلوب هو تسمى داخليا StateManagedCollectionمجموعة في التنفيذ الخاص به من IStateManagerLoadViewState(Object)الأسلوب. يمنع مجموعات المشتقة CreateKnownTypeأسلوب للعودة مثيل افتراضي IStateManagerالنوع المعرف بواسطة المتوفر index، الذي يقوم بتعيين واحد أنواع التي يتم إرجاعها بواسطة GetKnownTypesالأسلوب.

يوضح المثال تعليمات برمجية التالي كيفية مكتوب بشدة StateManagedCollectionimplements لفئة CreateKnownTypeأسلوب. CycleCollectionتطبيق ل CreateKnownTypeإرجاع المثيل الافتراضي لأي Bicycleأو Tricycleكائن، حسب على الفهرس الذي تم تمريره. هذا مثال للتعليمة البرمجية هي جزء من مثال أكبر متوفر لفئة StateManagedCollection.


//////////////////////////////////////////////////////////////
//
// 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();
    }

}


نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: