Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / ComponentResourceKey.cs / 1 / 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
- ContextMenuService.cs
- RepeaterCommandEventArgs.cs
- MembershipUser.cs
- ThemeInfoAttribute.cs
- ZoneMembershipCondition.cs
- SafeHandles.cs
- WebPartCollection.cs
- CaseStatement.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- CacheEntry.cs
- HttpRuntimeSection.cs
- XmlSchemaExternal.cs
- FormViewInsertEventArgs.cs
- BuiltInExpr.cs
- DefaultTextStoreTextComposition.cs
- TriggerAction.cs
- BamlTreeNode.cs
- OdbcRowUpdatingEvent.cs
- FilteredXmlReader.cs
- KeyGestureConverter.cs
- SafeLibraryHandle.cs
- HtmlTableRow.cs
- BindingMemberInfo.cs
- RouteItem.cs
- ToolStripSeparator.cs
- XmlProcessingInstruction.cs
- LoginName.cs
- ControlPaint.cs
- CoTaskMemUnicodeSafeHandle.cs
- MouseActionConverter.cs
- WrappedIUnknown.cs
- OletxTransactionFormatter.cs
- HighlightComponent.cs
- EditorPart.cs
- ColorTransform.cs
- CategoryAttribute.cs
- FixedTextSelectionProcessor.cs
- FormsAuthenticationTicket.cs
- UnsafeNativeMethodsCLR.cs
- Filter.cs
- webproxy.cs
- RegionInfo.cs
- XamlClipboardData.cs
- OdbcParameterCollection.cs
- PropertyDescriptorCollection.cs
- ClientBuildManager.cs
- StateMachineHistory.cs
- PartialTrustVisibleAssembly.cs
- LookupBindingPropertiesAttribute.cs
- Size.cs
- DataBoundLiteralControl.cs
- SqlWebEventProvider.cs
- DataServiceRequestException.cs
- ExpressionBuilderContext.cs
- listitem.cs
- FrameworkName.cs
- Grid.cs
- OdbcException.cs
- TextEditorThreadLocalStore.cs
- PerformanceCountersElement.cs
- OutputScopeManager.cs
- MaterialGroup.cs
- HtmlTable.cs
- XmlHelper.cs
- ListMarkerLine.cs
- ProcessManager.cs
- SemaphoreSecurity.cs
- ADMembershipUser.cs
- LinkButton.cs
- PageCodeDomTreeGenerator.cs
- GroupJoinQueryOperator.cs
- DefinitionProperties.cs
- SecurityException.cs
- VariantWrapper.cs
- HiddenFieldPageStatePersister.cs
- Assembly.cs
- DesigntimeLicenseContextSerializer.cs
- ChangeBlockUndoRecord.cs
- BitmapEditor.cs
- PaperSize.cs
- MailMessageEventArgs.cs
- ChildDocumentBlock.cs
- MemoryFailPoint.cs
- EncodingDataItem.cs
- TextFormatterContext.cs
- MenuAutomationPeer.cs
- SvcMapFileSerializer.cs
- VisualBasicSettingsHandler.cs
- RequestUriProcessor.cs
- ObjectAnimationUsingKeyFrames.cs
- RolePrincipal.cs
- StringAttributeCollection.cs
- XpsSerializerFactory.cs
- ActivationArguments.cs
- ConsumerConnectionPoint.cs
- DecoderReplacementFallback.cs
- DesignerCategoryAttribute.cs
- DbCommandTree.cs
- AdapterDictionary.cs
- PageThemeParser.cs