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
- EventlogProvider.cs
- CookieHandler.cs
- TabControlDesigner.cs
- WebPartZoneAutoFormat.cs
- ToolStripItemGlyph.cs
- ExeConfigurationFileMap.cs
- SmiEventSink_Default.cs
- GuidConverter.cs
- RenderData.cs
- BitArray.cs
- NodeFunctions.cs
- LineSegment.cs
- BinaryMethodMessage.cs
- NamespaceQuery.cs
- OptimisticConcurrencyException.cs
- StateManagedCollection.cs
- FixedBufferAttribute.cs
- DoubleLinkList.cs
- ClientSettings.cs
- BamlLocalizableResourceKey.cs
- TransformValueSerializer.cs
- LinqDataSourceSelectEventArgs.cs
- NameNode.cs
- ProfileEventArgs.cs
- MessageFilter.cs
- HttpHandlerAction.cs
- HMACSHA512.cs
- BaseDataList.cs
- BindingNavigator.cs
- NavigatorInput.cs
- ResXBuildProvider.cs
- CellLabel.cs
- NameTable.cs
- RemotingException.cs
- XmlSchemaValidationException.cs
- TimeBoundedCache.cs
- PriorityBinding.cs
- Roles.cs
- TableAdapterManagerGenerator.cs
- EventLogPermission.cs
- ValueConversionAttribute.cs
- StringExpressionSet.cs
- AutoScrollHelper.cs
- XmlValidatingReaderImpl.cs
- DeferredElementTreeState.cs
- EndpointNameMessageFilter.cs
- WebServiceFault.cs
- ToolStripItemTextRenderEventArgs.cs
- WinEventHandler.cs
- Memoizer.cs
- StateFinalizationActivity.cs
- ReflectionServiceProvider.cs
- DataControlLinkButton.cs
- Site.cs
- AdPostCacheSubstitution.cs
- TextElementEditingBehaviorAttribute.cs
- Condition.cs
- PropertyGridCommands.cs
- RSAOAEPKeyExchangeFormatter.cs
- SystemWebExtensionsSectionGroup.cs
- ResourceWriter.cs
- ForEachDesigner.xaml.cs
- MaterialGroup.cs
- ConnectorEditor.cs
- CodeDomConfigurationHandler.cs
- PolicyUnit.cs
- HWStack.cs
- ACE.cs
- FrameworkTemplate.cs
- XmlIlVisitor.cs
- XamlReaderConstants.cs
- UnauthorizedAccessException.cs
- ArrayHelper.cs
- UInt32Storage.cs
- X509SecurityToken.cs
- MailDefinition.cs
- SchemaNamespaceManager.cs
- KeyFrames.cs
- QilUnary.cs
- XmlSchemaProviderAttribute.cs
- UnmanagedHandle.cs
- InfiniteTimeSpanConverter.cs
- BooleanFunctions.cs
- ExtendedProtectionPolicy.cs
- recordstate.cs
- DecimalKeyFrameCollection.cs
- FontFamilyIdentifier.cs
- DeclaredTypeValidatorAttribute.cs
- HttpProcessUtility.cs
- WindowCollection.cs
- WebPartVerb.cs
- TreeSet.cs
- ReadOnlyCollection.cs
- AttributeCollection.cs
- figurelength.cs
- SectionInput.cs
- AttributeTable.cs
- HyperLinkField.cs
- SqlParameterizer.cs
- DelegatedStream.cs