Code:
/ FX-1434 / FX-1434 / 1.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
- PropertyNames.cs
- VectorAnimationBase.cs
- XmlWhitespace.cs
- BrowserCapabilitiesCompiler.cs
- ScaleTransform.cs
- PermissionSetEnumerator.cs
- StringPropertyBuilder.cs
- RootProfilePropertySettingsCollection.cs
- ConnectionManagementElement.cs
- OracleMonthSpan.cs
- PerformanceCounterManager.cs
- autovalidator.cs
- ConstraintConverter.cs
- WebPartUserCapability.cs
- DesignerSerializationOptionsAttribute.cs
- Int32RectValueSerializer.cs
- SortAction.cs
- EventQueueState.cs
- TextEditorDragDrop.cs
- DbSourceCommand.cs
- Configuration.cs
- KeyEventArgs.cs
- CharAnimationBase.cs
- DateRangeEvent.cs
- ArrayTypeMismatchException.cs
- Shape.cs
- SQLUtility.cs
- UInt32Converter.cs
- TabItemAutomationPeer.cs
- RtfControlWordInfo.cs
- ArrayHelper.cs
- TypeDescriptionProviderAttribute.cs
- StyleHelper.cs
- EncryptedType.cs
- ConnectionsZone.cs
- ToolStripButton.cs
- CompModSwitches.cs
- KnownAssemblyEntry.cs
- XmlNamespaceManager.cs
- WindowProviderWrapper.cs
- BinaryMethodMessage.cs
- WebFaultClientMessageInspector.cs
- CommandLibraryHelper.cs
- hebrewshape.cs
- CompareValidator.cs
- listitem.cs
- ContactManager.cs
- DrawListViewItemEventArgs.cs
- Tokenizer.cs
- SqlConnectionPoolGroupProviderInfo.cs
- BigInt.cs
- SelectionProviderWrapper.cs
- AppSecurityManager.cs
- jithelpers.cs
- SimpleWebHandlerParser.cs
- TypedReference.cs
- ItemsControlAutomationPeer.cs
- HttpProtocolReflector.cs
- SvcMapFileSerializer.cs
- LazyLoadBehavior.cs
- EntityDataSourceContainerNameConverter.cs
- Configuration.cs
- RenameRuleObjectDialog.Designer.cs
- CodeArrayIndexerExpression.cs
- panel.cs
- UnsafeNativeMethods.cs
- ValidationRuleCollection.cs
- SecurityCriticalDataForSet.cs
- TiffBitmapDecoder.cs
- TextBox.cs
- SqlException.cs
- EntityDataSource.cs
- AsymmetricKeyExchangeFormatter.cs
- HttpDigestClientCredential.cs
- AnimationException.cs
- RtType.cs
- RichTextBoxConstants.cs
- Property.cs
- ExpressionVisitorHelpers.cs
- SafeArrayTypeMismatchException.cs
- ADConnectionHelper.cs
- XhtmlTextWriter.cs
- HttpHostedTransportConfiguration.cs
- ResourcesGenerator.cs
- DataGridCheckBoxColumn.cs
- ForeignConstraint.cs
- PartialClassGenerationTaskInternal.cs
- WinCategoryAttribute.cs
- EntityPropertyMappingAttribute.cs
- NavigatingCancelEventArgs.cs
- TickBar.cs
- PageThemeParser.cs
- MultipartIdentifier.cs
- RegionIterator.cs
- _FtpControlStream.cs
- InkCanvasSelectionAdorner.cs
- TimeSpanConverter.cs
- TextDecorations.cs
- DataPointer.cs
- Attributes.cs