Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / ComponentResourceKey.cs / 1305600 / ComponentResourceKey.cs
using System; using System.Reflection; using System.Text; using System.ComponentModel; namespace System.Windows { ////// Key class for custom components to define the names of their resources to be loaded by SystemResources. /// [TypeConverter(typeof(System.Windows.Markup.ComponentResourceKeyConverter))] public class ComponentResourceKey : ResourceKey { ////// Default constructor. Type and ID are null. /// public ComponentResourceKey() { } ////// Type and ID are initialized to the specified parameters. /// /// The Type to which this key is associated. /// A unique ID to differentiate this key from others associated with this type. public ComponentResourceKey(Type typeInTargetAssembly, object resourceId) { if (typeInTargetAssembly == null) { throw new ArgumentNullException("typeInTargetAssembly"); } if (resourceId == null) { throw new ArgumentNullException("resourceId"); } _typeInTargetAssembly = typeInTargetAssembly; _typeInTargetAssemblyInitialized = true; _resourceId = resourceId; _resourceIdInitialized = true; } ////// The Type associated with this resources. Must be in assembly where the resource is located. /// public Type TypeInTargetAssembly { get { return _typeInTargetAssembly; } set { if (value == null) { throw new ArgumentNullException("value"); } if (_typeInTargetAssemblyInitialized) { throw new InvalidOperationException(SR.Get(SRID.ChangingTypeNotAllowed)); } _typeInTargetAssembly = value; _typeInTargetAssemblyInitialized = true; } } ////// Used to determine where to look for the resource dictionary that holds this resource. /// public override Assembly Assembly { get { return (_typeInTargetAssembly != null) ? _typeInTargetAssembly.Assembly : null; } } ////// A unique Id to differentiate this key from other keys associated with the same type. /// public object ResourceId { get { return _resourceId; } set { if (_resourceIdInitialized) { throw new InvalidOperationException(SR.Get(SRID.ChangingIdNotAllowed)); } _resourceId = value; _resourceIdInitialized = true; } } ////// Determines if the passed in object is equal to this object. /// Two keys will be equal if they both have equal Types and IDs. /// /// The object to compare with. ///True if the objects are equal. False otherwise. public override bool Equals(object o) { ComponentResourceKey key = o as ComponentResourceKey; if (key != null) { return ((key._typeInTargetAssembly != null) ? key._typeInTargetAssembly.Equals(this._typeInTargetAssembly) : (this._typeInTargetAssembly == null)) && ((key._resourceId != null) ? key._resourceId.Equals(this._resourceId) : (this._resourceId == null)); } return false; } ////// Serves as a hash function for a particular type. /// public override int GetHashCode() { return ((_typeInTargetAssembly != null) ? _typeInTargetAssembly.GetHashCode() : 0) ^ ((_resourceId != null) ? _resourceId.GetHashCode() : 0); } ////// return string representation of this key /// ///the string representation of the key public override string ToString() { StringBuilder strBuilder = new StringBuilder(256); strBuilder.Append("TargetType="); strBuilder.Append((_typeInTargetAssembly != null) ? _typeInTargetAssembly.FullName : "null"); strBuilder.Append(" ID="); strBuilder.Append((_resourceId != null) ? _resourceId.ToString() : "null"); return strBuilder.ToString(); } private Type _typeInTargetAssembly; private bool _typeInTargetAssemblyInitialized; private object _resourceId; private bool _resourceIdInitialized; } } // 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
- WorkflowInstanceContextProvider.cs
- MediaPlayerState.cs
- SelectionProcessor.cs
- ParameterCollectionEditor.cs
- EventPrivateKey.cs
- UIElementParagraph.cs
- HwndStylusInputProvider.cs
- CapabilitiesPattern.cs
- _UncName.cs
- ListViewGroup.cs
- UInt16.cs
- CatalogZone.cs
- EventLogTraceListener.cs
- DBSqlParserTable.cs
- EntityStoreSchemaGenerator.cs
- SHA256.cs
- GroupByExpressionRewriter.cs
- BufferedReadStream.cs
- SiteMapNode.cs
- Binding.cs
- OleDbCommand.cs
- TreeViewEvent.cs
- WebServicesInteroperability.cs
- TextComposition.cs
- HyperLinkField.cs
- StringConverter.cs
- EmbossBitmapEffect.cs
- DrawingAttributes.cs
- ChooseAction.cs
- PropertyRecord.cs
- XmlAnyElementAttributes.cs
- SynthesizerStateChangedEventArgs.cs
- Stream.cs
- Point3DCollection.cs
- CodeAttributeArgumentCollection.cs
- ColorConvertedBitmap.cs
- TextRangeEditTables.cs
- PromptEventArgs.cs
- SrgsElementFactory.cs
- ListenerUnsafeNativeMethods.cs
- AsyncCodeActivityContext.cs
- ItemContainerGenerator.cs
- RelatedPropertyManager.cs
- StreamUpdate.cs
- PrintControllerWithStatusDialog.cs
- WebPartDesigner.cs
- ProfilePropertyNameValidator.cs
- EventManager.cs
- GridSplitter.cs
- ConfigPathUtility.cs
- IndicCharClassifier.cs
- Graphics.cs
- util.cs
- ProtocolState.cs
- UserControlCodeDomTreeGenerator.cs
- SystemBrushes.cs
- CrossContextChannel.cs
- HostedNamedPipeTransportManager.cs
- recordstatescratchpad.cs
- EventHandlerList.cs
- ListenerConstants.cs
- AddInAdapter.cs
- RootBuilder.cs
- BaseProcessor.cs
- CodeSubDirectoriesCollection.cs
- GraphicsPath.cs
- StructuredTypeEmitter.cs
- FieldToken.cs
- PeerApplicationLaunchInfo.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ClockController.cs
- EdmValidator.cs
- FigureParagraph.cs
- XmlElementAttribute.cs
- MimeMultiPart.cs
- TransformProviderWrapper.cs
- Trigger.cs
- SamlSecurityToken.cs
- InputLanguageEventArgs.cs
- DataGridColumn.cs
- UDPClient.cs
- UnsafeNativeMethods.cs
- XPathNodeIterator.cs
- DispatcherExceptionEventArgs.cs
- VirtualPathData.cs
- ProtocolElement.cs
- DataGridViewRowsAddedEventArgs.cs
- InstanceNotFoundException.cs
- DetailsViewUpdateEventArgs.cs
- FrameworkElementAutomationPeer.cs
- webproxy.cs
- NavigationHelper.cs
- GridItem.cs
- ToolStripSeparator.cs
- SR.cs
- OdbcTransaction.cs
- UnmanagedBitmapWrapper.cs
- RadioButtonList.cs
- QualificationDataAttribute.cs
- RuntimeResourceSet.cs