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
- UrlPath.cs
- XmlNode.cs
- NumberAction.cs
- ResXBuildProvider.cs
- DataBindingExpressionBuilder.cs
- RectAnimationBase.cs
- HtmlControlPersistable.cs
- Errors.cs
- ToolBarOverflowPanel.cs
- ObjectIDGenerator.cs
- PointConverter.cs
- GridViewRowPresenterBase.cs
- SystemIPGlobalProperties.cs
- EnvironmentPermission.cs
- ErrorTableItemStyle.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- EntityDataSourceChangingEventArgs.cs
- ApplicationProxyInternal.cs
- UnsafeNativeMethods.cs
- ThreadStateException.cs
- Triangle.cs
- ToolStripButton.cs
- ExcCanonicalXml.cs
- FixedSOMElement.cs
- versioninfo.cs
- SrgsNameValueTag.cs
- ContentElement.cs
- SQLBinary.cs
- ConnectionManagementElement.cs
- LineMetrics.cs
- EntityDataSourceView.cs
- HtmlInputButton.cs
- WebPageTraceListener.cs
- CompositeFontInfo.cs
- ResourcePermissionBaseEntry.cs
- CategoryAttribute.cs
- Fault.cs
- StylusButtonCollection.cs
- PasswordTextContainer.cs
- DocumentViewerBaseAutomationPeer.cs
- JobInputBins.cs
- Parser.cs
- SynchronizationScope.cs
- DataGridCaption.cs
- Pkcs9Attribute.cs
- AesCryptoServiceProvider.cs
- UnsafeNativeMethods.cs
- VisualTreeHelper.cs
- MultiByteCodec.cs
- UriTemplateClientFormatter.cs
- ThreadPool.cs
- TimeZoneInfo.cs
- ProtocolException.cs
- GroupBoxRenderer.cs
- MessageSmuggler.cs
- TiffBitmapEncoder.cs
- CLSCompliantAttribute.cs
- UIElementParaClient.cs
- BrowsableAttribute.cs
- MetafileHeader.cs
- DynamicObjectAccessor.cs
- NonVisualControlAttribute.cs
- Profiler.cs
- XmlHierarchicalDataSourceView.cs
- NavigationEventArgs.cs
- XmlBinaryReader.cs
- CustomPopupPlacement.cs
- RijndaelManaged.cs
- StateRuntime.cs
- ValidationRule.cs
- PagerSettings.cs
- Byte.cs
- ChildTable.cs
- CreateSequence.cs
- SqlDependency.cs
- RemoveStoryboard.cs
- FrameworkContentElement.cs
- ReadOnlyTernaryTree.cs
- ImageIndexConverter.cs
- TextTreeNode.cs
- TypeConverterMarkupExtension.cs
- HttpAsyncResult.cs
- BatchStream.cs
- PageRequestManager.cs
- LinkedResourceCollection.cs
- GridViewDeletedEventArgs.cs
- KeyEvent.cs
- AssemblyCacheEntry.cs
- DbSource.cs
- EpmCustomContentDeSerializer.cs
- LoginName.cs
- BoolExpressionVisitors.cs
- SafeEventLogReadHandle.cs
- SamlConstants.cs
- RouteItem.cs
- DataSourceProvider.cs
- CultureSpecificStringDictionary.cs
- XmlBaseReader.cs
- LinkDesigner.cs
- AssemblyBuilderData.cs