Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Base / System / Security / RightsManagement / LocalizedNameDescriptionPair.cs / 1 / LocalizedNameDescriptionPair.cs
//------------------------------------------------------------------------------ // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: This class represents an immutable pair of Strings (Name, Description) // That are generally used to represent name and description of an unsigned publish license // (a.k.a. template). Unsigned Publish License has property called LocalizedNameDescriptionDictionary // which holds a map of a local Id to a Name Description pair, in order to support scenarios of // building locale specific template browsing applications. // // History: // 11/14/2005: [....] : Initial Implementation // //----------------------------------------------------------------------------- using System; using System.Collections; using System.Diagnostics; using System.Globalization; using System.Windows; using MS.Internal.Security.RightsManagement; using SecurityHelper=MS.Internal.WindowsBase.SecurityHelper; // Allow use of presharp warning numbers [6506] and [6518] unknown to the compiler #pragma warning disable 1634, 1691 namespace System.Security.RightsManagement { ////// LocalizedNameDescriptionPair class represent an immutable (Name, Description) pair of strings. This is /// a basic building block for structures that need to express locale specific information about /// Unsigned Publish Licenses. /// ////// Critical: This class exposes access to methods that eventually do one or more of the following /// 1. call into unmanaged code /// 2. affects state/data that will eventually cross over unmanaged code boundary /// 3. Return some RM related information which is considered private /// /// TreatAsSafe: This attrbiute automatically applied to all public entry points. All the public entry points have /// Demands for RightsManagementPermission at entry to counter the possible attacks that do /// not lead to the unamanged code directly(which is protected by another Demand there) but rather leave /// some status/data behind which eventually might cross the unamanaged boundary. /// [SecurityCritical(SecurityCriticalScope.Everything)] public class LocalizedNameDescriptionPair { ////// Constructor for the read only LocalizedNameDescriptionPair class. It takes values for Name and Description as parameters. /// public LocalizedNameDescriptionPair(string name, string description) { SecurityHelper.DemandRightsManagementPermission(); if (name == null) { throw new ArgumentNullException("name"); } if (description == null) { throw new ArgumentNullException("description"); } _name = name; _description = description; } ////// Read only Name property. /// public string Name { get { SecurityHelper.DemandRightsManagementPermission(); return _name; } } ////// Read only Description property. /// public string Description { get { SecurityHelper.DemandRightsManagementPermission(); return _description; } } ////// Test for equality. /// public override bool Equals(object obj) { SecurityHelper.DemandRightsManagementPermission(); if ((obj == null) || (obj.GetType() != GetType())) { return false; } LocalizedNameDescriptionPair localizedNameDescr = obj as LocalizedNameDescriptionPair; //PRESHARP:Parameter to this public method must be validated: A null-dereference can occur here. //This is a false positive as the checks above can gurantee no null dereference will occur #pragma warning disable 6506 return (String.CompareOrdinal(localizedNameDescr.Name, Name) == 0) && (String.CompareOrdinal(localizedNameDescr.Description, Description) == 0); #pragma warning restore 6506 } ////// Compute hash code. /// public override int GetHashCode() { SecurityHelper.DemandRightsManagementPermission(); return Name.GetHashCode() ^ Description.GetHashCode(); } private string _name; private string _description; } } // 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
- DataReaderContainer.cs
- HitTestResult.cs
- Screen.cs
- ellipse.cs
- FunctionDetailsReader.cs
- SerializationInfoEnumerator.cs
- DuplicateWaitObjectException.cs
- ServiceModelSecurityTokenRequirement.cs
- IIS7ConfigurationLoader.cs
- XamlRtfConverter.cs
- DocumentApplicationJournalEntryEventArgs.cs
- QilList.cs
- ResourceAssociationTypeEnd.cs
- WebServiceErrorEvent.cs
- BitmapMetadataBlob.cs
- ParallelTimeline.cs
- TableTextElementCollectionInternal.cs
- WebPartsSection.cs
- ZipPackagePart.cs
- _ListenerRequestStream.cs
- SystemIPGlobalStatistics.cs
- Logging.cs
- HtmlTernaryTree.cs
- StreamBodyWriter.cs
- MergeFailedEvent.cs
- SecurityHelper.cs
- DockProviderWrapper.cs
- DesignBindingConverter.cs
- wgx_exports.cs
- ItemList.cs
- MarshalByRefObject.cs
- ModuleConfigurationInfo.cs
- PerformanceCounterPermissionAttribute.cs
- IfAction.cs
- CTreeGenerator.cs
- PageAsyncTaskManager.cs
- Int32.cs
- OracleCommandBuilder.cs
- MessageQueue.cs
- ExtensionQuery.cs
- SimpleApplicationHost.cs
- SharedStream.cs
- ControlParser.cs
- NamedElement.cs
- ResourceCategoryAttribute.cs
- base64Transforms.cs
- NativeMethods.cs
- TextDecorationCollection.cs
- CommonProperties.cs
- EditorZoneDesigner.cs
- Parser.cs
- StrokeSerializer.cs
- SaveFileDialog.cs
- DesignerTransaction.cs
- CheckedPointers.cs
- _NtlmClient.cs
- DataGridViewCellConverter.cs
- ThreadExceptionDialog.cs
- HandlerBase.cs
- SplitterPanel.cs
- ConditionChanges.cs
- ControlEvent.cs
- DrawingContextWalker.cs
- DataSourceCache.cs
- ColorKeyFrameCollection.cs
- DataServiceQueryException.cs
- SqlMultiplexer.cs
- FrameworkElementFactory.cs
- StoreConnection.cs
- _FtpDataStream.cs
- LoadMessageLogger.cs
- DataGridViewRowHeaderCell.cs
- ReferencedType.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- MembershipSection.cs
- RuleSetDialog.cs
- XamlPointCollectionSerializer.cs
- SemaphoreSecurity.cs
- DataSourceCache.cs
- MsmqChannelListenerBase.cs
- util.cs
- OneToOneMappingSerializer.cs
- BrushValueSerializer.cs
- XPathConvert.cs
- TabControlCancelEvent.cs
- XamlGridLengthSerializer.cs
- ScriptRef.cs
- ObsoleteAttribute.cs
- ExceptionAggregator.cs
- ClientUtils.cs
- InfoCardProofToken.cs
- SocketElement.cs
- UserControlParser.cs
- RecipientInfo.cs
- SqlDataReader.cs
- Point3DCollectionConverter.cs
- Cursor.cs
- BaseCollection.cs
- BitmapMetadataBlob.cs
- WebPartCatalogCloseVerb.cs