Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// 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;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BoundingRectTracker.cs
- TypeNameHelper.cs
- ProcessHostConfigUtils.cs
- ErrorInfoXmlDocument.cs
- TableLayoutPanel.cs
- WindowsScrollBarBits.cs
- BufferedMessageWriter.cs
- XPathAncestorIterator.cs
- Encoding.cs
- Array.cs
- Splitter.cs
- NativeDirectoryServicesQueryAPIs.cs
- LineSegment.cs
- ISAPIWorkerRequest.cs
- SqlCacheDependency.cs
- Clock.cs
- SoapTypeAttribute.cs
- TextProperties.cs
- NetMsmqBinding.cs
- BrowserDefinitionCollection.cs
- EntityDataSourceChangingEventArgs.cs
- ManifestSignatureInformation.cs
- HttpModuleCollection.cs
- LogicalMethodInfo.cs
- EmptyWorkItem.cs
- XmlSequenceWriter.cs
- MasterPageBuildProvider.cs
- FormsAuthenticationUserCollection.cs
- ListControlActionList.cs
- ShutDownListener.cs
- FaultException.cs
- ReliableRequestSessionChannel.cs
- RichTextBoxContextMenu.cs
- SafeFindHandle.cs
- SharedStatics.cs
- Encoder.cs
- Schema.cs
- XamlTreeBuilder.cs
- PropertyDescriptors.cs
- RawKeyboardInputReport.cs
- TypeTypeConverter.cs
- WorkflowServiceAttributes.cs
- PersonalizationStateInfo.cs
- WhitespaceSignificantCollectionAttribute.cs
- DesignerActionUI.cs
- TypeDelegator.cs
- Transactions.cs
- SafeCancelMibChangeNotify.cs
- MouseGestureConverter.cs
- TreeNodeStyle.cs
- RenderDataDrawingContext.cs
- TailPinnedEventArgs.cs
- DispatchWrapper.cs
- Int32Converter.cs
- Shape.cs
- RequiredAttributeAttribute.cs
- ArraySegment.cs
- DetailsViewRowCollection.cs
- ActivityDesignerLayoutSerializers.cs
- BackgroundFormatInfo.cs
- ImageFormat.cs
- ControlBuilderAttribute.cs
- ColorTransformHelper.cs
- XmlAttribute.cs
- BitmapCodecInfo.cs
- _DynamicWinsockMethods.cs
- SortQueryOperator.cs
- ServicePointManagerElement.cs
- ContractInstanceProvider.cs
- Point3DConverter.cs
- ThicknessConverter.cs
- FontInfo.cs
- HttpGetProtocolReflector.cs
- DataGridViewRow.cs
- SlotInfo.cs
- TableLayoutCellPaintEventArgs.cs
- TextTreeTextElementNode.cs
- Line.cs
- Margins.cs
- CodeBlockBuilder.cs
- QilTypeChecker.cs
- IHttpResponseInternal.cs
- OracleBinary.cs
- AnnotationResourceCollection.cs
- ReadWriteSpinLock.cs
- DockAndAnchorLayout.cs
- TreeNodeBindingCollection.cs
- FontDriver.cs
- ItemsPresenter.cs
- AccessibilityHelperForXpWin2k3.cs
- ErrorFormatter.cs
- FileLogRecord.cs
- ProcessModelSection.cs
- WindowsListViewGroupHelper.cs
- IISUnsafeMethods.cs
- XmlNotation.cs
- MediaScriptCommandRoutedEventArgs.cs
- PenLineJoinValidation.cs
- SecurityCriticalDataForSet.cs
- GroupBoxRenderer.cs