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
- Processor.cs
- DeclarativeCatalogPart.cs
- OfTypeExpression.cs
- IndexedString.cs
- _AcceptOverlappedAsyncResult.cs
- Inflater.cs
- AxisAngleRotation3D.cs
- AssemblyBuilderData.cs
- TripleDES.cs
- BaseCodePageEncoding.cs
- MarginsConverter.cs
- IssuanceTokenProviderState.cs
- ParentUndoUnit.cs
- CodeDirectiveCollection.cs
- ValueChangedEventManager.cs
- XamlPathDataSerializer.cs
- TextInfo.cs
- SqlFlattener.cs
- GeneralTransform3DTo2DTo3D.cs
- Semaphore.cs
- NetworkStream.cs
- _UriSyntax.cs
- JpegBitmapEncoder.cs
- DetailsViewDeletedEventArgs.cs
- CardSpaceShim.cs
- ExpandableObjectConverter.cs
- WebException.cs
- QuestionEventArgs.cs
- ContentFilePart.cs
- UIPermission.cs
- SymmetricKeyWrap.cs
- XPathExpr.cs
- Point3DAnimation.cs
- ColumnHeaderConverter.cs
- UpDownBase.cs
- DuplicateWaitObjectException.cs
- PropertyOverridesTypeEditor.cs
- SiteMapNodeItemEventArgs.cs
- BindingOperations.cs
- MarkupExtensionReturnTypeAttribute.cs
- XomlDesignerLoader.cs
- Zone.cs
- DES.cs
- OptionUsage.cs
- ToolStripPanelRenderEventArgs.cs
- FocusWithinProperty.cs
- ServiceContractAttribute.cs
- Subtree.cs
- QilFactory.cs
- mansign.cs
- XmlSerializerSection.cs
- InternalBufferOverflowException.cs
- CloudCollection.cs
- SimpleFieldTemplateFactory.cs
- SyndicationSerializer.cs
- IsolatedStorageFile.cs
- ImageProxy.cs
- CatalogPart.cs
- PackageDigitalSignature.cs
- ModifierKeysConverter.cs
- DEREncoding.cs
- ValidationHelpers.cs
- SpeakCompletedEventArgs.cs
- Axis.cs
- WebPartCancelEventArgs.cs
- OleDbFactory.cs
- AstTree.cs
- Point4D.cs
- OleStrCAMarshaler.cs
- SelectionRange.cs
- TdsParserSafeHandles.cs
- SystemIPAddressInformation.cs
- CapabilitiesUse.cs
- Delegate.cs
- DataGridCommandEventArgs.cs
- VarRemapper.cs
- IIS7UserPrincipal.cs
- SessionStateContainer.cs
- WindowsFormsLinkLabel.cs
- SpeechRecognitionEngine.cs
- Attributes.cs
- FlowLayoutSettings.cs
- SingleAnimation.cs
- IconHelper.cs
- ScrollChrome.cs
- HwndAppCommandInputProvider.cs
- ResourceReader.cs
- StrongName.cs
- PopOutPanel.cs
- CacheChildrenQuery.cs
- ReaderWriterLock.cs
- SqlDataSourceCache.cs
- SettingsProperty.cs
- EventEntry.cs
- DependencyPropertyKind.cs
- WebPartTransformerAttribute.cs
- HMACSHA256.cs
- RIPEMD160.cs
- ADRole.cs
- DoubleKeyFrameCollection.cs