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
- MenuItemStyleCollection.cs
- PageAdapter.cs
- StructuralType.cs
- SQLDoubleStorage.cs
- DocumentXPathNavigator.cs
- IntSecurity.cs
- PDBReader.cs
- LinkLabelLinkClickedEvent.cs
- TrackingLocation.cs
- AutomationElementIdentifiers.cs
- RedirectionProxy.cs
- PerfCounterSection.cs
- ProcessInfo.cs
- FormatControl.cs
- RoleExceptions.cs
- ObjectTypeMapping.cs
- SemanticValue.cs
- ToolStripHighContrastRenderer.cs
- TextFormatterContext.cs
- ScrollItemProviderWrapper.cs
- DataPagerFieldItem.cs
- TransformerTypeCollection.cs
- SerializationInfoEnumerator.cs
- MouseDevice.cs
- DataListItemEventArgs.cs
- GroupDescription.cs
- BamlRecordReader.cs
- TypeConverterHelper.cs
- TypeViewSchema.cs
- ErrorWrapper.cs
- PointCollection.cs
- DocumentXmlWriter.cs
- XmlObjectSerializerReadContext.cs
- FolderBrowserDialogDesigner.cs
- localization.cs
- VerificationAttribute.cs
- GlyphTypeface.cs
- HwndKeyboardInputProvider.cs
- versioninfo.cs
- XmlNodeChangedEventManager.cs
- ProxyAssemblyNotLoadedException.cs
- _NegoStream.cs
- Currency.cs
- SystemColorTracker.cs
- RectAnimationUsingKeyFrames.cs
- ListenDesigner.cs
- SessionStateUtil.cs
- HtmlWindowCollection.cs
- RenderData.cs
- printdlgexmarshaler.cs
- EventDescriptor.cs
- TextEditorTables.cs
- WriteableBitmap.cs
- AutomationElementCollection.cs
- ProvidersHelper.cs
- EditorZoneBase.cs
- DynamicRenderer.cs
- ResourcesGenerator.cs
- SQLDateTime.cs
- ToolStripSystemRenderer.cs
- Debug.cs
- TypeConverterAttribute.cs
- InkPresenter.cs
- CellParaClient.cs
- Compensate.cs
- ObjectDataSourceFilteringEventArgs.cs
- safex509handles.cs
- WindowsContainer.cs
- MimeMapping.cs
- Transform3DCollection.cs
- CacheForPrimitiveTypes.cs
- EventToken.cs
- ComponentManagerBroker.cs
- BridgeDataRecord.cs
- ProcessThreadCollection.cs
- AuthenticationModulesSection.cs
- DebugView.cs
- VerificationException.cs
- EventLogPermissionAttribute.cs
- CounterSampleCalculator.cs
- SignatureToken.cs
- AdapterSwitches.cs
- basecomparevalidator.cs
- ConditionalWeakTable.cs
- DataGridTextBox.cs
- DataGridViewAutoSizeModeEventArgs.cs
- FixedSOMLineCollection.cs
- ErrorStyle.cs
- InputLangChangeEvent.cs
- SystemResources.cs
- PeerApplication.cs
- RangeContentEnumerator.cs
- Rectangle.cs
- RunClient.cs
- _OSSOCK.cs
- MsmqProcessProtocolHandler.cs
- KeyValuePair.cs
- Timer.cs
- CaretElement.cs
- SqlTypeConverter.cs