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
- PowerModeChangedEventArgs.cs
- ObjectSecurity.cs
- CodeStatement.cs
- ExtractorMetadata.cs
- ToolTipService.cs
- InstanceStore.cs
- FixedSOMSemanticBox.cs
- CryptoApi.cs
- VisualCollection.cs
- MsmqProcessProtocolHandler.cs
- RectKeyFrameCollection.cs
- TypeDescriptionProviderAttribute.cs
- DataSourceControl.cs
- MSHTMLHost.cs
- IdleTimeoutMonitor.cs
- TransformerInfo.cs
- CollectionViewGroupRoot.cs
- SemanticAnalyzer.cs
- ElementProxy.cs
- ValidationErrorEventArgs.cs
- PTManager.cs
- PropertyGridCommands.cs
- WinFormsUtils.cs
- GradientStop.cs
- ProfileService.cs
- SafeNativeMethods.cs
- SafeHandle.cs
- PersonalizationStateInfoCollection.cs
- RectangleHotSpot.cs
- XamlInt32CollectionSerializer.cs
- VisualStateManager.cs
- ScrollBarRenderer.cs
- AnnotationAuthorChangedEventArgs.cs
- WebPartMenu.cs
- InlinedAggregationOperatorEnumerator.cs
- ThousandthOfEmRealPoints.cs
- LayoutEditorPart.cs
- WmlValidatorAdapter.cs
- DataGrid.cs
- Helpers.cs
- SlotInfo.cs
- CodeDomConfigurationHandler.cs
- _NegotiateClient.cs
- HttpApplicationStateWrapper.cs
- NativeMethods.cs
- ColorKeyFrameCollection.cs
- MessageQueuePermissionEntryCollection.cs
- OutOfMemoryException.cs
- XmlDocumentType.cs
- SystemNetworkInterface.cs
- UnsafeCollabNativeMethods.cs
- StrongTypingException.cs
- PartialCachingAttribute.cs
- DBDataPermissionAttribute.cs
- PinProtectionHelper.cs
- Lasso.cs
- QueryCorrelationInitializer.cs
- WorkflowExecutor.cs
- PageCodeDomTreeGenerator.cs
- CounterSampleCalculator.cs
- CommonGetThemePartSize.cs
- PropertyIdentifier.cs
- TranslateTransform.cs
- WebAdminConfigurationHelper.cs
- ReliabilityContractAttribute.cs
- ProvidePropertyAttribute.cs
- SimpleHandlerBuildProvider.cs
- WindowsAuthenticationEventArgs.cs
- While.cs
- EmissiveMaterial.cs
- Parameter.cs
- TextTreeUndoUnit.cs
- XmlConvert.cs
- Rijndael.cs
- WebContext.cs
- FixedPageStructure.cs
- TerminatorSinks.cs
- MarshalByValueComponent.cs
- XmlILModule.cs
- IndexingContentUnit.cs
- Color.cs
- MultilineStringConverter.cs
- ListViewSelectEventArgs.cs
- HostingEnvironment.cs
- SqlDataReader.cs
- HeaderedItemsControl.cs
- ToolStripRenderer.cs
- DataObjectMethodAttribute.cs
- Pair.cs
- EdgeProfileValidation.cs
- DataRelationCollection.cs
- SmtpNegotiateAuthenticationModule.cs
- SerializerProvider.cs
- FontFaceLayoutInfo.cs
- CompModSwitches.cs
- DrawListViewItemEventArgs.cs
- Geometry3D.cs
- Axis.cs
- LinearGradientBrush.cs
- Label.cs