Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / System / data / design / NameService.cs / 2 / NameService.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All Rights Reserved. // Information Contained Herein is Proprietary and Confidential. // //----------------------------------------------------------------------------- namespace System.Data.Design { using System; using System.Collections; using System.Globalization; ////// internal interface INamedObject { string Name { get; set; } } ////// Indicates a collection of objects that support INamedObject. /// internal interface INamedObjectCollection: ICollection { INameService GetNameService(); // Might return null. } ////// A name service can be used for many INamedObjectCollection /// internal interface INameService { // Create UniqueName will always return a valid and unique name // string CreateUniqueName( INamedObjectCollection container, Type type ); string CreateUniqueName( INamedObjectCollection container, string proposed ); string CreateUniqueName( INamedObjectCollection container, string proposedNameRoot, int startSuffix); // ValidateName does not check if the name is unque void ValidateName( string name ); // Should throw NameValidationException when invalid name passed. // Check if the name is unique and valid void ValidateUniqueName( INamedObjectCollection container, string name ); // Should throw NameValidationException when invalid name passed. // Check if the name is unique and valid // This function is useful when renaming an existing object. void ValidateUniqueName(INamedObjectCollection container, INamedObject namedObject, string proposedName); // Should throw NameValidationException when invalid name passed. } ////// internal class NamedObjectUtil { ////// Private contstructor to avoid class being instantiated. /// private NamedObjectUtil() { } public static INamedObject Find( INamedObjectCollection coll, string name ) { return NamedObjectUtil.Find( (ICollection) coll, name, false); } private static INamedObject Find( ICollection coll, string name, bool ignoreCase) { IEnumerator e = coll.GetEnumerator(); while( e.MoveNext() ) { INamedObject n = e.Current as INamedObject; if( n == null ) { throw new InternalException( VSDExceptions.COMMON.NOT_A_NAMED_OBJECT_MSG, VSDExceptions.COMMON.NOT_A_NAMED_OBJECT_CODE ); } if( StringUtil.EqualValue(n.Name, name, ignoreCase)) { return n; } } return null; } } ////// [Serializable] internal sealed class NameValidationException: ApplicationException { public NameValidationException( string message ) : base( message ) {} // No additional fields defined so we do not have to override default ISerializable implementation } } // 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
- TextSelectionHelper.cs
- ResourceDescriptionAttribute.cs
- smtppermission.cs
- ping.cs
- WorkflowTerminatedException.cs
- DockPanel.cs
- UInt32Storage.cs
- ResourceCodeDomSerializer.cs
- DataGridViewButtonColumn.cs
- RegisterResponseInfo.cs
- ApplicationGesture.cs
- Root.cs
- PropertyMetadata.cs
- FlowLayoutPanel.cs
- PersistencePipeline.cs
- GuidConverter.cs
- EndpointPerformanceCounters.cs
- WindowsListView.cs
- SplitContainer.cs
- SettingsPropertyIsReadOnlyException.cs
- QueryHandler.cs
- Misc.cs
- ByteFacetDescriptionElement.cs
- Image.cs
- HelpInfo.cs
- ServiceDeploymentInfo.cs
- TextInfo.cs
- HtmlHead.cs
- ReplacementText.cs
- DataListItem.cs
- ProcessingInstructionAction.cs
- Renderer.cs
- DodSequenceMerge.cs
- NativeActivityFaultContext.cs
- SafeFileHandle.cs
- HttpListenerPrefixCollection.cs
- ProvidersHelper.cs
- WebPartPersonalization.cs
- OrthographicCamera.cs
- FtpWebRequest.cs
- ServiceOperation.cs
- DLinqDataModelProvider.cs
- TrustSection.cs
- DataGridViewElement.cs
- GeneralTransform.cs
- RecordsAffectedEventArgs.cs
- WebPartDisplayModeEventArgs.cs
- XamlTemplateSerializer.cs
- DataSourceGeneratorException.cs
- RegexGroup.cs
- NameSpaceExtractor.cs
- Rectangle.cs
- BinaryWriter.cs
- TabControlAutomationPeer.cs
- TraceUtils.cs
- PDBReader.cs
- OleDbEnumerator.cs
- XmlLoader.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- Dispatcher.cs
- StringFormat.cs
- FragmentQuery.cs
- CalendarDesigner.cs
- WebUtil.cs
- SqlServer2KCompatibilityAnnotation.cs
- CryptoHelper.cs
- WebPartHeaderCloseVerb.cs
- DnsEndpointIdentity.cs
- ServiceManager.cs
- wgx_render.cs
- HashMembershipCondition.cs
- Pair.cs
- TemplateBindingExpression.cs
- PropertyPathWorker.cs
- XmlMembersMapping.cs
- PeerNearMe.cs
- __Filters.cs
- EllipseGeometry.cs
- PeerMessageDispatcher.cs
- DataGridColumnCollection.cs
- ListenDesigner.cs
- WebBrowserUriTypeConverter.cs
- PrimarySelectionAdorner.cs
- DataServiceException.cs
- SrgsGrammarCompiler.cs
- CorrelationKeyCalculator.cs
- RenderData.cs
- WebContext.cs
- SourceFilter.cs
- DeferredElementTreeState.cs
- ExpandableObjectConverter.cs
- HostedTcpTransportManager.cs
- IxmlLineInfo.cs
- RemoveStoryboard.cs
- ModelTreeEnumerator.cs
- UIAgentAsyncParams.cs
- PixelShader.cs
- XmlEncodedRawTextWriter.cs
- ECDiffieHellman.cs
- RectKeyFrameCollection.cs