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
- TranslateTransform.cs
- GridViewRowPresenter.cs
- SortFieldComparer.cs
- TextEffect.cs
- TraceContextRecord.cs
- BuilderPropertyEntry.cs
- MatchAttribute.cs
- cookiecollection.cs
- TabItemAutomationPeer.cs
- HttpStaticObjectsCollectionWrapper.cs
- ClientData.cs
- TrackingProfile.cs
- EntitySqlException.cs
- XamlVector3DCollectionSerializer.cs
- EventTask.cs
- Transform3DGroup.cs
- HtmlSelect.cs
- TimeSpanConverter.cs
- ExtensionQuery.cs
- ScopelessEnumAttribute.cs
- VirtualDirectoryMappingCollection.cs
- RegexNode.cs
- DynamicActivityProperty.cs
- BinHexEncoder.cs
- BindableAttribute.cs
- NullableDoubleMinMaxAggregationOperator.cs
- EditorPartChrome.cs
- ToolboxDataAttribute.cs
- EntityDataSourceEntitySetNameItem.cs
- ButtonPopupAdapter.cs
- ThumbButtonInfoCollection.cs
- UIElementParagraph.cs
- ValueCollectionParameterReader.cs
- TdsParameterSetter.cs
- CancelEventArgs.cs
- RectAnimation.cs
- ChannelEndpointElementCollection.cs
- DisableDpiAwarenessAttribute.cs
- InputChannel.cs
- Binding.cs
- KnownTypesProvider.cs
- WebSysDisplayNameAttribute.cs
- SplitterEvent.cs
- ISFTagAndGuidCache.cs
- ButtonStandardAdapter.cs
- SqlAggregateChecker.cs
- PrinterSettings.cs
- DependencyPropertyDescriptor.cs
- File.cs
- GifBitmapDecoder.cs
- SQLInt64Storage.cs
- OracleConnectionStringBuilder.cs
- SqlCacheDependencyDatabase.cs
- StringDictionary.cs
- XhtmlBasicFormAdapter.cs
- XmlMembersMapping.cs
- WebPartDisplayModeCollection.cs
- SqlMethodTransformer.cs
- TypedLocationWrapper.cs
- AsyncOperation.cs
- RbTree.cs
- HtmlFormParameterReader.cs
- ContainerFilterService.cs
- IPAddressCollection.cs
- PropertyItemInternal.cs
- DBSchemaTable.cs
- InternalBufferOverflowException.cs
- MetadataCache.cs
- SchemaCollectionCompiler.cs
- BindingOperations.cs
- RectValueSerializer.cs
- DataGridRow.cs
- DES.cs
- PkcsUtils.cs
- CodeConstructor.cs
- FontClient.cs
- TableLayoutPanelDesigner.cs
- SamlConditions.cs
- SystemIPGlobalStatistics.cs
- DetailsViewAutoFormat.cs
- IIS7UserPrincipal.cs
- Color.cs
- TableLayoutStyleCollection.cs
- OleDbException.cs
- XsdDateTime.cs
- SmtpDigestAuthenticationModule.cs
- ObjectCacheSettings.cs
- TabletDeviceInfo.cs
- ColumnWidthChangedEvent.cs
- ListViewTableRow.cs
- CollectionViewSource.cs
- CommonDialog.cs
- JapaneseCalendar.cs
- SHA256Managed.cs
- ControlLocalizer.cs
- WsdlImporter.cs
- RoleService.cs
- TemplateBindingExtensionConverter.cs
- InstancePersistenceContext.cs
- ValueType.cs