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
- SerializeAbsoluteContext.cs
- SystemIPAddressInformation.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- SqlDataSourceQueryEditorForm.cs
- ListView.cs
- PopupEventArgs.cs
- FormView.cs
- HtmlTableCellCollection.cs
- ReliabilityContractAttribute.cs
- AccessDataSourceView.cs
- SHA1Managed.cs
- SimpleHandlerBuildProvider.cs
- HttpModulesSection.cs
- TextElementEditingBehaviorAttribute.cs
- ImageListUtils.cs
- ItemCheckEvent.cs
- StateDesignerConnector.cs
- SqlNamer.cs
- Vector3dCollection.cs
- Floater.cs
- RotateTransform.cs
- ProfessionalColors.cs
- TaskbarItemInfo.cs
- Module.cs
- GridLengthConverter.cs
- TextServicesContext.cs
- Subtree.cs
- NativeMethods.cs
- Renderer.cs
- objectquery_tresulttype.cs
- EntityParameterCollection.cs
- PreviewPageInfo.cs
- SecurityUtils.cs
- BlurBitmapEffect.cs
- ValidatorCompatibilityHelper.cs
- XmlSchemaGroup.cs
- ExclusiveHandleList.cs
- TableFieldsEditor.cs
- XPathDescendantIterator.cs
- ContextStaticAttribute.cs
- Ray3DHitTestResult.cs
- Expressions.cs
- CommonObjectSecurity.cs
- CodeDirectiveCollection.cs
- QuaternionRotation3D.cs
- DoubleLink.cs
- DetailsViewPageEventArgs.cs
- XmlValidatingReaderImpl.cs
- Brushes.cs
- ValidationHelper.cs
- EdmRelationshipRoleAttribute.cs
- HtmlInputRadioButton.cs
- GradientSpreadMethodValidation.cs
- TreeNodeStyleCollection.cs
- UnsafeNetInfoNativeMethods.cs
- EntityDataSourceDesigner.cs
- RegisteredArrayDeclaration.cs
- AutoGeneratedFieldProperties.cs
- MetabaseServerConfig.cs
- GlyphShapingProperties.cs
- SapiRecognizer.cs
- DurableRuntimeValidator.cs
- SettingsProperty.cs
- HandledMouseEvent.cs
- BindingsCollection.cs
- LoginUtil.cs
- BoolExpression.cs
- MetabaseServerConfig.cs
- SQLInt64.cs
- TextEditorMouse.cs
- PerformanceCounter.cs
- NameSpaceExtractor.cs
- PathSegmentCollection.cs
- StaticTextPointer.cs
- HostedImpersonationContext.cs
- Task.cs
- Version.cs
- ReachDocumentSequenceSerializerAsync.cs
- URLAttribute.cs
- MostlySingletonList.cs
- FeatureAttribute.cs
- DependencyObjectPropertyDescriptor.cs
- ImageKeyConverter.cs
- ReflectPropertyDescriptor.cs
- MDIWindowDialog.cs
- TableStyle.cs
- OleDbReferenceCollection.cs
- PropertyEmitterBase.cs
- StubHelpers.cs
- PropertyPath.cs
- XmlByteStreamReader.cs
- ChildDocumentBlock.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- FileChangesMonitor.cs
- CopyCodeAction.cs
- NavigationPropertyAccessor.cs
- EdmScalarPropertyAttribute.cs
- NullReferenceException.cs
- XmlArrayItemAttribute.cs
- RunClient.cs