Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / CompMod / System / ComponentModel / Design / DesignerActionMethodItem.cs / 1 / DesignerActionMethodItem.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.ComponentModel.Design { using System; using System.ComponentModel; using System.Design; using System.Reflection; ////// /// [to be provided] /// public class DesignerActionMethodItem : DesignerActionItem { private string memberName; private bool includeAsDesignerVerb; private DesignerActionList actionList; private MethodInfo methodInfo; private IComponent relatedComponent; ////// /// [to be provvided] /// public DesignerActionMethodItem(DesignerActionList actionList, string memberName, string displayName, string category, string description, bool includeAsDesignerVerb) : base( displayName, category, description) { this.actionList = actionList; this.memberName = memberName; this.includeAsDesignerVerb = includeAsDesignerVerb; } ////// /// [to be provvided] /// public DesignerActionMethodItem(DesignerActionList actionList, string memberName, string displayName) : this(actionList, memberName, displayName, null, null, false) { } ////// /// [to be provvided] /// public DesignerActionMethodItem(DesignerActionList actionList, string memberName, string displayName, bool includeAsDesignerVerb) : this(actionList, memberName, displayName, null, null, includeAsDesignerVerb) { } ////// /// [to be provvided] /// public DesignerActionMethodItem(DesignerActionList actionList, string memberName, string displayName, string category) : this(actionList, memberName, displayName, category, null, false) { } ////// /// [to be provvided] /// public DesignerActionMethodItem(DesignerActionList actionList, string memberName, string displayName, string category, bool includeAsDesignerVerb) : this(actionList, memberName, displayName, category, null, includeAsDesignerVerb) { } ////// /// [to be provvided] /// public DesignerActionMethodItem(DesignerActionList actionList, string memberName, string displayName, string category, string description) : this(actionList, memberName, displayName, category, description, false) { } internal DesignerActionMethodItem() { } ////// /// [to be provvided] /// public virtual string MemberName { get { return memberName; } } ////// /// [to be provvided] /// public IComponent RelatedComponent { get { return relatedComponent; } set { relatedComponent = value; } } ////// /// [to be provvided] /// public virtual bool IncludeAsDesignerVerb { get { return includeAsDesignerVerb; } } // this is only use for verbs so that a designer action method item can // be converted to a verb. Verbs use an EventHandler to call their invoke // so we need a way to translate the EventHandler Invoke into ou own Invoke internal void Invoke(object sender, EventArgs args) { Invoke(); } public virtual void Invoke() { if (methodInfo == null) { // we look public AND private or protected methods methodInfo = actionList.GetType().GetMethod(memberName, BindingFlags.Default | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); } if (methodInfo != null) { methodInfo.Invoke(actionList, null); } else { throw new InvalidOperationException(SR.GetString(SR.DesignerActionPanel_CouldNotFindMethod, MemberName)); } } } } // 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
- ReadWriteSpinLock.cs
- MetadataException.cs
- XmlDataSourceNodeDescriptor.cs
- HttpCacheVary.cs
- BinaryFormatter.cs
- AtomContentProperty.cs
- WebPartTransformer.cs
- ApplicationSettingsBase.cs
- Authorization.cs
- PriorityChain.cs
- RtfToXamlLexer.cs
- SystemShuttingDownException.cs
- QueueProcessor.cs
- SqlBulkCopyColumnMapping.cs
- WindowsListBox.cs
- ObjectHandle.cs
- DataPagerFieldCollection.cs
- TypeSystemHelpers.cs
- TemplatedMailWebEventProvider.cs
- XmlCustomFormatter.cs
- ArcSegment.cs
- ResponseStream.cs
- TraceSwitch.cs
- NumberFormatter.cs
- ContentOperations.cs
- TypeSchema.cs
- EventHandlerList.cs
- StringStorage.cs
- SqlDataSourceEnumerator.cs
- ThreadStateException.cs
- WebPartActionVerb.cs
- GuidTagList.cs
- RawStylusSystemGestureInputReport.cs
- VectorValueSerializer.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- DetailsViewRowCollection.cs
- XmlUtilWriter.cs
- CqlBlock.cs
- ExtractedStateEntry.cs
- EnlistmentTraceIdentifier.cs
- InternalTypeHelper.cs
- EventArgs.cs
- Expressions.cs
- ServicesUtilities.cs
- _UncName.cs
- ETagAttribute.cs
- FragmentNavigationEventArgs.cs
- CombinedGeometry.cs
- InternalBufferOverflowException.cs
- TimelineGroup.cs
- ClientSponsor.cs
- DriveInfo.cs
- ModelTreeEnumerator.cs
- EntityDataSourceValidationException.cs
- IntMinMaxAggregationOperator.cs
- TabControl.cs
- ContractDescription.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- DomainUpDown.cs
- ThrowHelper.cs
- ObjectSpanRewriter.cs
- JoinTreeSlot.cs
- ApplicationException.cs
- DecimalConstantAttribute.cs
- RadioButtonList.cs
- GenerateScriptTypeAttribute.cs
- ColorAnimationBase.cs
- XamlFigureLengthSerializer.cs
- Monitor.cs
- OptimalBreakSession.cs
- NonBatchDirectoryCompiler.cs
- IOThreadScheduler.cs
- Effect.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- TraceLog.cs
- VariantWrapper.cs
- SchemaEntity.cs
- WindowVisualStateTracker.cs
- SelectionRange.cs
- Calendar.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- SmtpReplyReader.cs
- WindowsTokenRoleProvider.cs
- ReferenceSchema.cs
- BrowserPolicyValidator.cs
- QilInvokeEarlyBound.cs
- EndEvent.cs
- Pkcs7Recipient.cs
- StackSpiller.cs
- GridViewColumnHeader.cs
- QueryContinueDragEvent.cs
- TraceShell.cs
- SectionInput.cs
- CapabilitiesSection.cs
- MasterPageCodeDomTreeGenerator.cs
- ComPlusDiagnosticTraceSchemas.cs
- PKCS1MaskGenerationMethod.cs
- OrCondition.cs
- Point3DCollection.cs
- WorkflowInstanceExtensionProvider.cs