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
- DataSourceControl.cs
- ProcessHost.cs
- SecurityUniqueId.cs
- ExtendedPropertiesHandler.cs
- CorrelationHandle.cs
- TemplateBamlTreeBuilder.cs
- OrderedDictionary.cs
- CmsUtils.cs
- OracleString.cs
- DataControlCommands.cs
- TextSelectionProcessor.cs
- XmlNodeChangedEventArgs.cs
- HwndHostAutomationPeer.cs
- SelectionChangedEventArgs.cs
- Registration.cs
- DatePicker.cs
- AnnouncementEndpointElement.cs
- AsymmetricCryptoHandle.cs
- MessageContractExporter.cs
- LinkButton.cs
- StylusLogic.cs
- BamlBinaryWriter.cs
- DSASignatureDeformatter.cs
- HttpCapabilitiesBase.cs
- StreamGeometry.cs
- SecurityTraceRecordHelper.cs
- RemotingAttributes.cs
- BoundPropertyEntry.cs
- WebZoneDesigner.cs
- XmlCharCheckingReader.cs
- ListView.cs
- BrowserTree.cs
- FileNotFoundException.cs
- SocketInformation.cs
- ToolStripDesignerUtils.cs
- HtmlTableCellCollection.cs
- ThousandthOfEmRealPoints.cs
- PropertyPath.cs
- EntityDataSourceChangingEventArgs.cs
- ReflectTypeDescriptionProvider.cs
- FontEmbeddingManager.cs
- FastEncoderWindow.cs
- RightsManagementLicense.cs
- XmlChoiceIdentifierAttribute.cs
- SafeReadContext.cs
- AstTree.cs
- PeerHopCountAttribute.cs
- ContractMapping.cs
- ZipIOExtraFieldZip64Element.cs
- GridViewColumnHeader.cs
- DeviceContext2.cs
- BinaryParser.cs
- PropertyBuilder.cs
- Preprocessor.cs
- OpenTypeLayoutCache.cs
- TaskScheduler.cs
- BaseCollection.cs
- ListenerElementsCollection.cs
- CellConstant.cs
- DefinitionBase.cs
- XmlTextReaderImplHelpers.cs
- ApplicationException.cs
- DataGridViewImageColumn.cs
- BaseCodeDomTreeGenerator.cs
- Win32Native.cs
- HyperLinkColumn.cs
- ExceptionHandlerDesigner.cs
- JoinCqlBlock.cs
- CodeSnippetStatement.cs
- FullTextState.cs
- TextCompositionEventArgs.cs
- DrawingVisual.cs
- DrawingState.cs
- QilLiteral.cs
- DataObject.cs
- SqlParameter.cs
- QuadraticBezierSegment.cs
- PixelFormat.cs
- ImmComposition.cs
- RsaKeyIdentifierClause.cs
- SubMenuStyleCollection.cs
- ChildrenQuery.cs
- SerTrace.cs
- HyperLinkDataBindingHandler.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- ShaperBuffers.cs
- documentsequencetextpointer.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ReadOnlyDictionary.cs
- FamilyMapCollection.cs
- ConversionContext.cs
- RemotingSurrogateSelector.cs
- InlineCollection.cs
- ExpressionPrefixAttribute.cs
- DataSet.cs
- DataGridTableCollection.cs
- LiteralSubsegment.cs
- ThreadStateException.cs
- NGCSerializationManagerAsync.cs
- Vector3DAnimation.cs