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
- GeneralTransform3DCollection.cs
- TextTreeUndo.cs
- CalendarData.cs
- SpotLight.cs
- ScriptIgnoreAttribute.cs
- EventPropertyMap.cs
- IconBitmapDecoder.cs
- CreateUserWizardDesigner.cs
- DataTemplate.cs
- QueryConverter.cs
- METAHEADER.cs
- RegistryExceptionHelper.cs
- categoryentry.cs
- RuntimeHandles.cs
- CreateUserWizardStep.cs
- ToolStripItemImageRenderEventArgs.cs
- TypeForwardedToAttribute.cs
- Model3D.cs
- XmlUtf8RawTextWriter.cs
- NonDualMessageSecurityOverHttp.cs
- StaticContext.cs
- XmlDeclaration.cs
- XhtmlBasicListAdapter.cs
- WebPartConnectVerb.cs
- ParentQuery.cs
- BaseCAMarshaler.cs
- UnauthorizedAccessException.cs
- RegexRunnerFactory.cs
- HwndStylusInputProvider.cs
- Compiler.cs
- SettingsAttributeDictionary.cs
- DocumentEventArgs.cs
- InspectionWorker.cs
- DbConnectionStringCommon.cs
- UnSafeCharBuffer.cs
- SqlNodeAnnotations.cs
- EventMappingSettingsCollection.cs
- InstanceContextMode.cs
- Function.cs
- CurrentChangedEventManager.cs
- ConsumerConnectionPointCollection.cs
- UIntPtr.cs
- PagePropertiesChangingEventArgs.cs
- ExtendedPropertyInfo.cs
- TransactionProxy.cs
- _NegoStream.cs
- SortQueryOperator.cs
- DifferencingCollection.cs
- DataGridViewRowPrePaintEventArgs.cs
- GenerateScriptTypeAttribute.cs
- DataListCommandEventArgs.cs
- MenuItemStyleCollection.cs
- PathFigureCollectionConverter.cs
- XomlCompilerParameters.cs
- XmlBinaryReader.cs
- WebPartTracker.cs
- SqlDelegatedTransaction.cs
- HandlerBase.cs
- DataGridViewCellValidatingEventArgs.cs
- TextSimpleMarkerProperties.cs
- AutomationPatternInfo.cs
- TranslateTransform3D.cs
- ComponentConverter.cs
- ParseNumbers.cs
- FontWeight.cs
- _SSPIWrapper.cs
- XmlSchemaCollection.cs
- CoTaskMemSafeHandle.cs
- SmiRecordBuffer.cs
- CompilerParameters.cs
- WinCategoryAttribute.cs
- FixedPageProcessor.cs
- DockPatternIdentifiers.cs
- XamlFilter.cs
- CheckBoxList.cs
- XmlSerializerOperationFormatter.cs
- CultureInfoConverter.cs
- NumberFormatInfo.cs
- XmlILConstructAnalyzer.cs
- WebServiceTypeData.cs
- BatchWriter.cs
- ResponseBodyWriter.cs
- BatchParser.cs
- CompilationSection.cs
- ExtenderProvidedPropertyAttribute.cs
- Nodes.cs
- DataGrid.cs
- HttpsTransportElement.cs
- ObjectAnimationBase.cs
- ScriptMethodAttribute.cs
- DrawListViewItemEventArgs.cs
- BindingEditor.xaml.cs
- HuffmanTree.cs
- XmlIlVisitor.cs
- NullableDoubleAverageAggregationOperator.cs
- PrePrepareMethodAttribute.cs
- CheckPair.cs
- ReplacementText.cs
- SymbolPair.cs
- CreateParams.cs