Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / BaseTypeViewSchema.cs / 1 / BaseTypeViewSchema.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design { using System; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System.Reflection; ////// Represents a view's schema based on a Type object retrieved /// through Reflection. This is the base class for several view schema /// types. /// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags = System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] internal abstract class BaseTypeViewSchema : IDataSourceViewSchema { private Type _type; private string _viewName; protected BaseTypeViewSchema(string viewName, Type type) { Debug.Assert(type != null); _type = type; _viewName = viewName; } public IDataSourceFieldSchema[] GetFields() { // Search for indexer property System.Collections.Generic.Listfields = new System.Collections.Generic.List (); Type rowType = GetRowType(_type); if (rowType != null) { // We specifically don't get schema when the type implements // ICustomTypeDescriptor since it is unlikely to have the // correct schema at design time. if (!typeof(ICustomTypeDescriptor).IsAssignableFrom(rowType)) { PropertyDescriptorCollection rowProperties = TypeDescriptor.GetProperties(rowType); foreach (PropertyDescriptor rowProperty in rowProperties) { fields.Add(new TypeFieldSchema(rowProperty)); } } } return fields.ToArray(); } public IDataSourceViewSchema[] GetChildren() { return null; } /// /// Derived classes must implement this method to retrieve the row /// type for a given object types. For example, in a strongly typed /// DataTable the row type would be the strongly typed DataRow. /// protected abstract Type GetRowType(Type objectType); public string Name { get { return _viewName; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FastEncoderWindow.cs
- DbParameterCollection.cs
- StaticExtensionConverter.cs
- StreamWithDictionary.cs
- IIS7UserPrincipal.cs
- RadioButtonFlatAdapter.cs
- ServiceNotStartedException.cs
- EntityContainerEntitySet.cs
- SQLUtility.cs
- OptimalTextSource.cs
- CacheMode.cs
- EdmError.cs
- Message.cs
- XmlAttributeAttribute.cs
- PrefixHandle.cs
- Transaction.cs
- BuildProviderCollection.cs
- SettingsAttributeDictionary.cs
- MenuItem.cs
- ToolStripTemplateNode.cs
- CanExecuteRoutedEventArgs.cs
- ThreadAbortException.cs
- FixUpCollection.cs
- FormatException.cs
- Point3DCollection.cs
- NotifyIcon.cs
- ExtendedTransformFactory.cs
- CheckedListBox.cs
- NativeRecognizer.cs
- TreeNode.cs
- ScrollEvent.cs
- ElementMarkupObject.cs
- DocumentPageViewAutomationPeer.cs
- XmlSecureResolver.cs
- NotificationContext.cs
- XPathNodeHelper.cs
- TraceData.cs
- LinkTarget.cs
- PropertyChangingEventArgs.cs
- HtmlInputButton.cs
- PartialList.cs
- CustomErrorsSectionWrapper.cs
- GridViewRowEventArgs.cs
- PrintEvent.cs
- ProcessRequestAsyncResult.cs
- IOException.cs
- GeometryModel3D.cs
- UniqueID.cs
- AddInPipelineAttributes.cs
- SimpleMailWebEventProvider.cs
- UniqueContractNameValidationBehavior.cs
- CachedTypeface.cs
- TextFormatterContext.cs
- Pts.cs
- StatusStrip.cs
- AnnotationComponentManager.cs
- XmlCompatibilityReader.cs
- ParserExtension.cs
- QilParameter.cs
- WebPartDisplayMode.cs
- mda.cs
- SqlInfoMessageEvent.cs
- WorkflowServiceNamespace.cs
- AppSettingsExpressionEditor.cs
- MLangCodePageEncoding.cs
- WebPartConnectVerb.cs
- ClientApiGenerator.cs
- CategoryAttribute.cs
- ScriptComponentDescriptor.cs
- BatchStream.cs
- ValueUnavailableException.cs
- mda.cs
- CodeThrowExceptionStatement.cs
- ConstraintStruct.cs
- FrameworkContentElement.cs
- GridItemPatternIdentifiers.cs
- WebCategoryAttribute.cs
- MinimizableAttributeTypeConverter.cs
- PointCollectionValueSerializer.cs
- SignatureDescription.cs
- ScriptingProfileServiceSection.cs
- WebConfigurationHost.cs
- GetWinFXPath.cs
- LayoutSettings.cs
- ToolboxService.cs
- TargetControlTypeCache.cs
- CertificateReferenceElement.cs
- Part.cs
- TextRunProperties.cs
- PageSetupDialog.cs
- InternalsVisibleToAttribute.cs
- DLinqColumnProvider.cs
- PermissionAttributes.cs
- ConnectionManagementSection.cs
- CheckPair.cs
- TargetControlTypeAttribute.cs
- SecurityState.cs
- WizardStepBase.cs
- SystemFonts.cs
- KoreanLunisolarCalendar.cs