Code:
/ FX-1434 / FX-1434 / 1.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
- InvalidChannelBindingException.cs
- WindowsAuthenticationModule.cs
- CancellableEnumerable.cs
- XmlParser.cs
- NCryptNative.cs
- ServiceHttpHandlerFactory.cs
- FilteredAttributeCollection.cs
- ReferenceConverter.cs
- CheckBoxList.cs
- MethodSet.cs
- ObjectDataSourceMethodEventArgs.cs
- ContentAlignmentEditor.cs
- ViewgenGatekeeper.cs
- DynamicQueryableWrapper.cs
- TemplateBindingExtensionConverter.cs
- DelegatingTypeDescriptionProvider.cs
- TableRow.cs
- HostingPreferredMapPath.cs
- DefaultEvaluationContext.cs
- ISessionStateStore.cs
- TextRange.cs
- VisualBrush.cs
- PeerApplication.cs
- Timer.cs
- TemplateControlBuildProvider.cs
- SoapServerMessage.cs
- DynamicControl.cs
- DocumentSequenceHighlightLayer.cs
- SystemGatewayIPAddressInformation.cs
- UpDownEvent.cs
- LoginAutoFormat.cs
- altserialization.cs
- Form.cs
- RawKeyboardInputReport.cs
- base64Transforms.cs
- TypeSystem.cs
- HostingEnvironmentSection.cs
- ScrollChrome.cs
- SmuggledIUnknown.cs
- CFGGrammar.cs
- CodeSnippetStatement.cs
- MouseGesture.cs
- IListConverters.cs
- HttpCapabilitiesSectionHandler.cs
- ActivityCodeGenerator.cs
- XsdCachingReader.cs
- SqlDataSourceStatusEventArgs.cs
- NodeInfo.cs
- TableParagraph.cs
- ObjectListShowCommandsEventArgs.cs
- COM2AboutBoxPropertyDescriptor.cs
- StructuralObject.cs
- PostBackOptions.cs
- ScrollProviderWrapper.cs
- RegexCapture.cs
- ResponseBodyWriter.cs
- TimeSpan.cs
- MessageQueueConverter.cs
- SafeUserTokenHandle.cs
- _TransmitFileOverlappedAsyncResult.cs
- EditorPart.cs
- NamedObject.cs
- SqlDataSourceConfigureSortForm.cs
- PlacementWorkspace.cs
- RequestCacheValidator.cs
- ImpersonateTokenRef.cs
- EndOfStreamException.cs
- ColumnCollection.cs
- ConfigXmlText.cs
- PeerCollaboration.cs
- AddInDeploymentState.cs
- CommandEventArgs.cs
- UnauthorizedAccessException.cs
- FrameDimension.cs
- UnmanagedMemoryStream.cs
- EmptyElement.cs
- InternalDuplexChannelListener.cs
- RemotingConfiguration.cs
- Stylesheet.cs
- SystemDiagnosticsSection.cs
- FSWPathEditor.cs
- ExpressionBindings.cs
- PrinterUnitConvert.cs
- NativeMethods.cs
- DataObjectEventArgs.cs
- VariableAction.cs
- WinInetCache.cs
- securitycriticaldataformultiplegetandset.cs
- ObfuscationAttribute.cs
- LoginView.cs
- ErrorCodes.cs
- SpnEndpointIdentityExtension.cs
- InterleavedZipPartStream.cs
- SwitchExpression.cs
- entityreference_tresulttype.cs
- RegexCapture.cs
- GcSettings.cs
- WebPartMenu.cs
- RegexCapture.cs
- DebugView.cs