Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / CustomTypeDescriptor.cs / 1 / CustomTypeDescriptor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.ComponentModel { using System; using System.Security.Permissions; ////// [HostProtection(SharedState = true)] public abstract class CustomTypeDescriptor : ICustomTypeDescriptor { private ICustomTypeDescriptor _parent; ////// Creates a new CustomTypeDescriptor object. There are two versions /// of this constructor. The version that takes no parameters simply /// calls the version that takes a parent and passes null as the /// parent value. If the parent is null, CustomTypeDescriptor returns /// the defined default values for each method. If the parent is /// non-null, CustomTypeDescriptor calls the parent's version of /// the method. /// protected CustomTypeDescriptor() { } ////// Creates a new CustomTypeDescriptor object. There are two versions /// of this constructor. The version that takes no parameters simply /// calls the version that takes a parent and passes null as the /// parent value. If the parent is null, CustomTypeDescriptor returns /// the defined default values for each method. If the parent is /// non-null, CustomTypeDescriptor calls the parent's version of /// the method. /// protected CustomTypeDescriptor(ICustomTypeDescriptor parent) { _parent = parent; } ////// The GetAttributes method returns the type-level attributes for /// the type this custom type descriptor is providing information for. /// You must always return a valid collection from this method. /// public virtual AttributeCollection GetAttributes() { if (_parent != null) { return _parent.GetAttributes(); } return AttributeCollection.Empty; } ////// The GetClassName method returns the fully qualified name of the /// class this type descriptor is representing. Returning null from /// this method causes the TypeDescriptor object to return the /// default class name. /// public virtual string GetClassName() { if (_parent != null) { return _parent.GetClassName(); } return null; } ////// The GetComponentName method returns the name of the component instance /// this type descriptor is describing. /// public virtual string GetComponentName() { if (_parent != null) { return _parent.GetComponentName(); } return null; } ////// The GetConverter method returns a type converter for the type this type /// descriptor is representing. /// public virtual TypeConverter GetConverter() { if (_parent != null) { return _parent.GetConverter(); } return new TypeConverter(); } ////// The GetDefaultEvent method returns the event descriptor for the default /// event on the object this type descriptor is representing. /// public virtual EventDescriptor GetDefaultEvent() { if (_parent != null) { return _parent.GetDefaultEvent(); } return null; } ////// The GetDefaultProperty method returns the property descriptor for the /// default property on the object this type descriptor is representing. /// public virtual PropertyDescriptor GetDefaultProperty() { if (_parent != null) { return _parent.GetDefaultProperty(); } return null; } ////// The GetEditor method returns an editor of the given type that is /// to be associated with the class this type descriptor is representing. /// public virtual object GetEditor(Type editorBaseType) { if (_parent != null) { return _parent.GetEditor(editorBaseType); } return null; } ////// The GetEvents method returns a collection of event descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is /// returned. If no parent is provided,this will return an empty /// event collection. /// public virtual EventDescriptorCollection GetEvents() { if (_parent != null) { return _parent.GetEvents(); } return EventDescriptorCollection.Empty; } ////// The GetEvents method returns a collection of event descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is /// returned. If no parent is provided,this will return an empty /// event collection. /// public virtual EventDescriptorCollection GetEvents(Attribute[] attributes) { if (_parent != null) { return _parent.GetEvents(attributes); } return EventDescriptorCollection.Empty; } ////// The GetProperties method returns a collection of property descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is returned. /// If no parent is provided,this will return an empty /// property collection. /// public virtual PropertyDescriptorCollection GetProperties() { if (_parent != null) { return _parent.GetProperties(); } return PropertyDescriptorCollection.Empty; } ////// The GetProperties method returns a collection of property descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is returned. /// If no parent is provided,this will return an empty /// property collection. /// public virtual PropertyDescriptorCollection GetProperties(Attribute[] attributes) { if (_parent != null) { return _parent.GetProperties(attributes); } return PropertyDescriptorCollection.Empty; } ////// The GetPropertyOwner method returns an instance of an object that /// owns the given property for the object this type descriptor is representing. /// An optional attribute array may be provided to filter the collection that is /// returned. Returning null from this method causes the TypeDescriptor object /// to use its default type description services. /// public virtual object GetPropertyOwner(PropertyDescriptor pd) { if (_parent != null) { return _parent.GetPropertyOwner(pd); } return null; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EastAsianLunisolarCalendar.cs
- RtType.cs
- XmlDataSource.cs
- XmlDeclaration.cs
- ExtensionWindowResizeGrip.cs
- FtpCachePolicyElement.cs
- WorkflowMarkupSerializationProvider.cs
- dbdatarecord.cs
- ExpressionNode.cs
- DefaultCommandConverter.cs
- XmlParserContext.cs
- ManagedCodeMarkers.cs
- ComponentGlyph.cs
- StandardCommandToolStripMenuItem.cs
- WebResourceUtil.cs
- PersistNameAttribute.cs
- PropertyPathWorker.cs
- SqlServices.cs
- DocumentPage.cs
- BehaviorService.cs
- SiteMapNodeItem.cs
- SecurityHeaderElementInferenceEngine.cs
- WebBrowser.cs
- webeventbuffer.cs
- XsdDateTime.cs
- TrackingConditionCollection.cs
- RNGCryptoServiceProvider.cs
- WSSecureConversation.cs
- basemetadatamappingvisitor.cs
- DataGridDesigner.cs
- StorageEntityContainerMapping.cs
- XmlSchemaAnnotation.cs
- TimeSpan.cs
- TextContainer.cs
- UnhandledExceptionEventArgs.cs
- TextBlockAutomationPeer.cs
- DataServiceContext.cs
- OleDbTransaction.cs
- AppDomainFactory.cs
- TdsParserStateObject.cs
- Message.cs
- SQLDateTime.cs
- ArraySubsetEnumerator.cs
- WebPartZone.cs
- StorageTypeMapping.cs
- DoubleKeyFrameCollection.cs
- AssemblyInfo.cs
- ButtonPopupAdapter.cs
- IdentityModelStringsVersion1.cs
- ResourceSet.cs
- OdbcDataAdapter.cs
- AddIn.cs
- ArrayWithOffset.cs
- XmlMtomWriter.cs
- ColorMap.cs
- Rect3DConverter.cs
- NodeInfo.cs
- SamlSecurityToken.cs
- SQLBinaryStorage.cs
- TemplateBaseAction.cs
- TextEditorTyping.cs
- WebScriptServiceHost.cs
- MembershipPasswordException.cs
- TraceHandler.cs
- NameService.cs
- EventLogPermissionAttribute.cs
- SoapAttributeOverrides.cs
- MultipartContentParser.cs
- VariableDesigner.xaml.cs
- RelatedPropertyManager.cs
- ColorIndependentAnimationStorage.cs
- datacache.cs
- DbConnectionHelper.cs
- PropertyInformation.cs
- ApplicationContext.cs
- mil_sdk_version.cs
- DataListItemEventArgs.cs
- DateBoldEvent.cs
- TileModeValidation.cs
- CodeCommentStatement.cs
- SurrogateChar.cs
- storepermission.cs
- XmlAnyAttributeAttribute.cs
- SimpleType.cs
- DBPropSet.cs
- WhiteSpaceTrimStringConverter.cs
- PerformanceCounterPermissionEntry.cs
- WaveHeader.cs
- XmlMapping.cs
- ExtensionMethods.cs
- OleDbEnumerator.cs
- HtmlHistory.cs
- ReturnEventArgs.cs
- Enum.cs
- ConfigurationValue.cs
- QualifiedCellIdBoolean.cs
- PanelDesigner.cs
- TempEnvironment.cs
- XsdDataContractExporter.cs
- Rotation3D.cs