Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / System / Windows / RoutedEventHandlerInfo.cs / 1 / RoutedEventHandlerInfo.cs
using System; namespace System.Windows { ////// Container for handler instance and other /// invocation preferences for this handler /// instance /// ////// RoutedEventHandlerInfo constitutes the /// handler instance and flag that indicates if /// or not this handler must be invoked for /// already handled events //CASRemoval:[StrongNameIdentityPermission(SecurityAction.LinkDemand, PublicKey = Microsoft.Internal.BuildInfo.WCP_PUBLIC_KEY_STRING)] public struct RoutedEventHandlerInfo { #region Construction ////// /// /// This class needs to be public because it is /// used by ContentElement in the Framework /// to store Instance EventHandlers /// /// Construtor for RoutedEventHandlerInfo /// /// /// Non-null handler /// /// /// Flag that indicates if or not the handler must /// be invoked for already handled events /// internal RoutedEventHandlerInfo(Delegate handler, bool handledEventsToo) { _handler = handler; _handledEventsToo = handledEventsToo; } #endregion Construction #region Operations ////// Returns associated handler instance /// public Delegate Handler { get {return _handler;} } ////// Returns HandledEventsToo Flag /// public bool InvokeHandledEventsToo { get {return _handledEventsToo;} } // Invokes handler instance as per specified // invocation preferences internal void InvokeHandler(object target, RoutedEventArgs routedEventArgs) { if ((routedEventArgs.Handled == false) || (_handledEventsToo == true)) { if (_handler is RoutedEventHandler) { // Generic RoutedEventHandler is called directly here since // we don't need the InvokeEventHandler override to cast to // the proper type - we know what it is. ((RoutedEventHandler)_handler)(target, routedEventArgs); } else { // NOTE: Cannot call protected method InvokeEventHandler directly routedEventArgs.InvokeHandler(_handler, target); } } } ////// Is the given object equivalent to the current one /// public override bool Equals(object obj) { if (obj == null || !(obj is RoutedEventHandlerInfo)) return false; return Equals((RoutedEventHandlerInfo)obj); } ////// Is the given RoutedEventHandlerInfo equals the current /// public bool Equals(RoutedEventHandlerInfo handlerInfo) { return _handler == handlerInfo._handler && _handledEventsToo == handlerInfo._handledEventsToo; } ////// Serves as a hash function for a particular type, suitable for use in /// hashing algorithms and data structures like a hash table /// public override int GetHashCode() { return base.GetHashCode(); } ////// Equals operator overload /// public static bool operator== (RoutedEventHandlerInfo handlerInfo1, RoutedEventHandlerInfo handlerInfo2) { return handlerInfo1.Equals(handlerInfo2); } ////// NotEquals operator overload /// public static bool operator!= (RoutedEventHandlerInfo handlerInfo1, RoutedEventHandlerInfo handlerInfo2) { return !handlerInfo1.Equals(handlerInfo2); } ////// Cleanup all the references within the data /// /* Commented out to avoid "uncalled private code" fxcop violation internal void Clear() { _handler = null; _handledEventsToo = false; } */ #endregion Operations #region Data private Delegate _handler; private bool _handledEventsToo; #endregion Data } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; namespace System.Windows { ////// Container for handler instance and other /// invocation preferences for this handler /// instance /// ////// RoutedEventHandlerInfo constitutes the /// handler instance and flag that indicates if /// or not this handler must be invoked for /// already handled events //CASRemoval:[StrongNameIdentityPermission(SecurityAction.LinkDemand, PublicKey = Microsoft.Internal.BuildInfo.WCP_PUBLIC_KEY_STRING)] public struct RoutedEventHandlerInfo { #region Construction ////// /// /// This class needs to be public because it is /// used by ContentElement in the Framework /// to store Instance EventHandlers /// /// Construtor for RoutedEventHandlerInfo /// /// /// Non-null handler /// /// /// Flag that indicates if or not the handler must /// be invoked for already handled events /// internal RoutedEventHandlerInfo(Delegate handler, bool handledEventsToo) { _handler = handler; _handledEventsToo = handledEventsToo; } #endregion Construction #region Operations ////// Returns associated handler instance /// public Delegate Handler { get {return _handler;} } ////// Returns HandledEventsToo Flag /// public bool InvokeHandledEventsToo { get {return _handledEventsToo;} } // Invokes handler instance as per specified // invocation preferences internal void InvokeHandler(object target, RoutedEventArgs routedEventArgs) { if ((routedEventArgs.Handled == false) || (_handledEventsToo == true)) { if (_handler is RoutedEventHandler) { // Generic RoutedEventHandler is called directly here since // we don't need the InvokeEventHandler override to cast to // the proper type - we know what it is. ((RoutedEventHandler)_handler)(target, routedEventArgs); } else { // NOTE: Cannot call protected method InvokeEventHandler directly routedEventArgs.InvokeHandler(_handler, target); } } } ////// Is the given object equivalent to the current one /// public override bool Equals(object obj) { if (obj == null || !(obj is RoutedEventHandlerInfo)) return false; return Equals((RoutedEventHandlerInfo)obj); } ////// Is the given RoutedEventHandlerInfo equals the current /// public bool Equals(RoutedEventHandlerInfo handlerInfo) { return _handler == handlerInfo._handler && _handledEventsToo == handlerInfo._handledEventsToo; } ////// Serves as a hash function for a particular type, suitable for use in /// hashing algorithms and data structures like a hash table /// public override int GetHashCode() { return base.GetHashCode(); } ////// Equals operator overload /// public static bool operator== (RoutedEventHandlerInfo handlerInfo1, RoutedEventHandlerInfo handlerInfo2) { return handlerInfo1.Equals(handlerInfo2); } ////// NotEquals operator overload /// public static bool operator!= (RoutedEventHandlerInfo handlerInfo1, RoutedEventHandlerInfo handlerInfo2) { return !handlerInfo1.Equals(handlerInfo2); } ////// Cleanup all the references within the data /// /* Commented out to avoid "uncalled private code" fxcop violation internal void Clear() { _handler = null; _handledEventsToo = false; } */ #endregion Operations #region Data private Delegate _handler; private bool _handledEventsToo; #endregion Data } } // 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
- DataContract.cs
- LinqToSqlWrapper.cs
- Frame.cs
- CharacterHit.cs
- PublisherIdentityPermission.cs
- CachedPathData.cs
- SecurityTokenInclusionMode.cs
- invalidudtexception.cs
- TraceFilter.cs
- InvokeCompletedEventArgs.cs
- IItemContainerGenerator.cs
- PointHitTestResult.cs
- BasicBrowserDialog.designer.cs
- AnimationStorage.cs
- Stylus.cs
- DesignTimeParseData.cs
- TranslateTransform3D.cs
- ManipulationDevice.cs
- WorkflowPageSetupDialog.cs
- SqlInternalConnectionSmi.cs
- SmiRequestExecutor.cs
- StringArrayEditor.cs
- ParentQuery.cs
- IfAction.cs
- ObjRef.cs
- PersonalizationEntry.cs
- ConnectionsZone.cs
- MemberInfoSerializationHolder.cs
- TreeNodeSelectionProcessor.cs
- DataSourceHelper.cs
- TypeSystem.cs
- LocalizabilityAttribute.cs
- EditingMode.cs
- XslVisitor.cs
- IxmlLineInfo.cs
- RSACryptoServiceProvider.cs
- HttpCookie.cs
- IDReferencePropertyAttribute.cs
- EntityChangedParams.cs
- TableCellAutomationPeer.cs
- WebServicesDescriptionAttribute.cs
- SecurityResources.cs
- HostSecurityManager.cs
- DesigntimeLicenseContextSerializer.cs
- InfoCardPolicy.cs
- ItemCheckedEvent.cs
- Rotation3D.cs
- DataGridTablesFactory.cs
- EffectiveValueEntry.cs
- StringHelper.cs
- ClientBuildManager.cs
- DockPattern.cs
- SaveFileDialog.cs
- PeerEndPoint.cs
- NativeMethods.cs
- IriParsingElement.cs
- PrintController.cs
- WebPartUtil.cs
- StringArrayEditor.cs
- ToolboxComponentsCreatingEventArgs.cs
- LocationSectionRecord.cs
- ParserExtension.cs
- CultureMapper.cs
- NullableDecimalSumAggregationOperator.cs
- RegionData.cs
- ExpressionBindingCollection.cs
- HtmlLink.cs
- DecoderFallback.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- OLEDB_Util.cs
- RijndaelCryptoServiceProvider.cs
- Binding.cs
- Pens.cs
- RenderingBiasValidation.cs
- DataGridViewComboBoxColumnDesigner.cs
- TransactionChannelListener.cs
- ImagingCache.cs
- IPipelineRuntime.cs
- ConstraintStruct.cs
- DiscriminatorMap.cs
- RequiredArgumentAttribute.cs
- ServiceCredentialsSecurityTokenManager.cs
- DiagnosticTraceSource.cs
- MessageQueueConverter.cs
- XmlException.cs
- Expression.DebuggerProxy.cs
- TableStyle.cs
- XmlTextWriter.cs
- SettingsPropertyCollection.cs
- DefaultValueTypeConverter.cs
- UnauthorizedWebPart.cs
- WaitHandle.cs
- PageFunction.cs
- ListenerSessionConnectionReader.cs
- cookiecollection.cs
- CreateUserWizard.cs
- PerformanceCounterPermission.cs
- XmlILModule.cs
- ManagementObject.cs
- WindowVisualStateTracker.cs