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
- RTTypeWrapper.cs
- SapiRecognizer.cs
- BinaryMessageEncoder.cs
- List.cs
- XmlWrappingReader.cs
- DrawingGroup.cs
- Semaphore.cs
- SurrogateChar.cs
- EncoderFallback.cs
- IconBitmapDecoder.cs
- ArraySortHelper.cs
- SpecularMaterial.cs
- DispatcherSynchronizationContext.cs
- InnerItemCollectionView.cs
- Cloud.cs
- versioninfo.cs
- RtfToken.cs
- ProfileSection.cs
- ClipboardData.cs
- EntitySqlQueryCacheEntry.cs
- RemotingSurrogateSelector.cs
- CompositeCollectionView.cs
- ScriptReferenceEventArgs.cs
- TimelineGroup.cs
- DesignTimeParseData.cs
- FileEnumerator.cs
- InternalResources.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- streamingZipPartStream.cs
- FixedPageAutomationPeer.cs
- FactoryId.cs
- RemotingException.cs
- CellRelation.cs
- XmlDocumentSurrogate.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- VersionedStream.cs
- SemanticKeyElement.cs
- TextEditorTyping.cs
- FacetChecker.cs
- AffineTransform3D.cs
- TextMarkerSource.cs
- DeferredBinaryDeserializerExtension.cs
- SchemaObjectWriter.cs
- UpdatePanelTriggerCollection.cs
- SecurityContext.cs
- ImportContext.cs
- CompositeScriptReferenceEventArgs.cs
- Quack.cs
- xsdvalidator.cs
- ControlBuilder.cs
- _CookieModule.cs
- XmlValueConverter.cs
- TextDecorationCollection.cs
- _NtlmClient.cs
- BooleanToVisibilityConverter.cs
- OrderedDictionaryStateHelper.cs
- BitmapSource.cs
- KeySplineConverter.cs
- ToggleProviderWrapper.cs
- Serializer.cs
- ITreeGenerator.cs
- x509utils.cs
- BindingBase.cs
- MaterialGroup.cs
- DbConnectionStringCommon.cs
- LostFocusEventManager.cs
- ResizeGrip.cs
- FileSystemInfo.cs
- CodeMemberField.cs
- DashStyles.cs
- ConfigXmlElement.cs
- ExceptionUtil.cs
- ScriptingWebServicesSectionGroup.cs
- returneventsaver.cs
- DataTableClearEvent.cs
- RemotingSurrogateSelector.cs
- RouteValueExpressionBuilder.cs
- XmlDataSourceView.cs
- ParameterCollectionEditor.cs
- SqlParameter.cs
- ExceptionHandler.cs
- ClientType.cs
- NativeMethods.cs
- StringCollection.cs
- DependencyObject.cs
- DataServiceKeyAttribute.cs
- ProcessThreadCollection.cs
- InfoCardSymmetricCrypto.cs
- AutomationAttributeInfo.cs
- InkCanvasSelection.cs
- ApplicationBuildProvider.cs
- ReferentialConstraint.cs
- FigureParagraph.cs
- DataGridLinkButton.cs
- XpsFilter.cs
- CharacterMetrics.cs
- ProviderSettingsCollection.cs
- CategoryNameCollection.cs
- WinHttpWebProxyFinder.cs
- PageRequestManager.cs