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
- WebPartExportVerb.cs
- Lasso.cs
- TraceSource.cs
- CurrencyManager.cs
- PrintController.cs
- SqlNotificationRequest.cs
- TextWriterTraceListener.cs
- ListBindableAttribute.cs
- RequestReplyCorrelator.cs
- EntityContainerEmitter.cs
- TagMapCollection.cs
- ZipIOLocalFileDataDescriptor.cs
- MimePart.cs
- BinaryObjectReader.cs
- XamlVector3DCollectionSerializer.cs
- ConstrainedDataObject.cs
- TransportChannelListener.cs
- EntityWithChangeTrackerStrategy.cs
- BitmapMetadata.cs
- FreeFormDesigner.cs
- FormatControl.cs
- __ComObject.cs
- GridViewCommandEventArgs.cs
- AuthenticationModuleElementCollection.cs
- SystemIcmpV6Statistics.cs
- RegexTree.cs
- GridViewPageEventArgs.cs
- DrawItemEvent.cs
- AlphaSortedEnumConverter.cs
- listviewsubitemcollectioneditor.cs
- EventManager.cs
- MemberPathMap.cs
- TabItemWrapperAutomationPeer.cs
- BaseDataList.cs
- ToolStrip.cs
- CaseStatement.cs
- SQLMembershipProvider.cs
- BindStream.cs
- RequiredAttributeAttribute.cs
- OdbcPermission.cs
- OracleBoolean.cs
- HyperLinkField.cs
- SmiRecordBuffer.cs
- Stopwatch.cs
- TrackingServices.cs
- ADConnectionHelper.cs
- indexingfiltermarshaler.cs
- NativeCppClassAttribute.cs
- WindowsTitleBar.cs
- ListViewItem.cs
- SecurityContext.cs
- TypeConverterHelper.cs
- ReachDocumentReferenceSerializerAsync.cs
- DataKeyCollection.cs
- storepermissionattribute.cs
- MethodImplAttribute.cs
- DrawListViewColumnHeaderEventArgs.cs
- CustomCategoryAttribute.cs
- _Rfc2616CacheValidators.cs
- WindowHideOrCloseTracker.cs
- Merger.cs
- CompilerTypeWithParams.cs
- PathGeometry.cs
- RadioButtonStandardAdapter.cs
- DataGridViewCellLinkedList.cs
- Attributes.cs
- ColorDialog.cs
- CultureTableRecord.cs
- dbenumerator.cs
- LayoutUtils.cs
- RegistrySecurity.cs
- FontCacheLogic.cs
- AssertHelper.cs
- ArrayConverter.cs
- ScriptControl.cs
- CheckBoxList.cs
- PointLightBase.cs
- ADMembershipProvider.cs
- localization.cs
- HtmlTernaryTree.cs
- GraphicsPath.cs
- cryptoapiTransform.cs
- FrameworkTextComposition.cs
- WmlMobileTextWriter.cs
- GeometryCollection.cs
- ReferenceAssemblyAttribute.cs
- ClassicBorderDecorator.cs
- MissingManifestResourceException.cs
- SyntaxCheck.cs
- PreviewPageInfo.cs
- BatchStream.cs
- UIElement3D.cs
- SqlBuffer.cs
- ToolStripDropDownButton.cs
- VisualStyleElement.cs
- COMException.cs
- WebPartMenu.cs
- XPathNavigatorKeyComparer.cs
- XmlDataSourceNodeDescriptor.cs
- ManagedCodeMarkers.cs