Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / System / Data / ConstraintConverter.cs / 1 / ConstraintConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Globalization; ////// sealed internal class ConstraintConverter : ExpandableObjectConverter { // converter classes should have public ctor public ConstraintConverter() { } ////// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ///Gets a value indicating whether this converter can /// convert an object to the given destination type using the context. ////// Converts the given object to another type. The most common types to convert /// are to and from a string object. The default implementation will make a call /// to ToString on the object if the object is valid and if the destination /// type is string. If this cannot convert to the desitnation type, this will /// throw a NotSupportedException. /// public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == null) { throw new ArgumentNullException("destinationType"); } if (destinationType == typeof(InstanceDescriptor) && value is Constraint) { if (value is UniqueConstraint) { UniqueConstraint constr = (UniqueConstraint)value; System.Reflection.ConstructorInfo ctor = typeof(UniqueConstraint).GetConstructor(new Type[] { typeof(string), typeof(string[]), typeof(bool) } ); if (ctor != null) return new InstanceDescriptor(ctor, new object[] { constr.ConstraintName, constr.ColumnNames, constr.IsPrimaryKey }); } else { ForeignKeyConstraint constr = (ForeignKeyConstraint)value; System.Reflection.ConstructorInfo ctor = typeof(ForeignKeyConstraint).GetConstructor(new Type[] { typeof(string), typeof(string), typeof(string[]), typeof(string[]), typeof(AcceptRejectRule), typeof(Rule), typeof(Rule) } ); if (ctor != null) return new InstanceDescriptor(ctor, new object[] { constr.ConstraintName, constr.ParentKey.Table.TableName, constr.ParentColumnNames, constr.ChildColumnNames, constr.AcceptRejectRule, constr.DeleteRule, constr.UpdateRule }); } } return base.ConvertTo(context, culture, value, destinationType); } } } // 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
- XmlNotation.cs
- SchemaImporter.cs
- HtmlElementCollection.cs
- TypeExtension.cs
- SecondaryIndex.cs
- WindowsBrush.cs
- StorageAssociationTypeMapping.cs
- WebPartMovingEventArgs.cs
- ViewStateChangedEventArgs.cs
- PolyBezierSegment.cs
- COM2Properties.cs
- RoleService.cs
- XmlSignatureProperties.cs
- EntityDataSourceViewSchema.cs
- TextStore.cs
- InternalPermissions.cs
- ServiceAuthorizationManager.cs
- StaticFileHandler.cs
- WebUtility.cs
- UIElement3D.cs
- OleServicesContext.cs
- DataPager.cs
- Int64Animation.cs
- Vector3DKeyFrameCollection.cs
- NamedElement.cs
- DynamicRouteExpression.cs
- ToolBar.cs
- C14NUtil.cs
- DetailsViewInsertedEventArgs.cs
- URLIdentityPermission.cs
- XslNumber.cs
- X509Certificate2Collection.cs
- EmptyReadOnlyDictionaryInternal.cs
- ChannelCacheSettings.cs
- DecoderBestFitFallback.cs
- NamedPipeAppDomainProtocolHandler.cs
- LookupTables.cs
- XhtmlBasicValidatorAdapter.cs
- ScaleTransform.cs
- EntityAdapter.cs
- ListBox.cs
- ListParagraph.cs
- ProgressPage.cs
- TriState.cs
- MailMessageEventArgs.cs
- PublisherMembershipCondition.cs
- HwndProxyElementProvider.cs
- UnmanagedMemoryStreamWrapper.cs
- HMAC.cs
- pingexception.cs
- Function.cs
- NativeMethods.cs
- BasePattern.cs
- XmlFormatExtensionAttribute.cs
- DuplicateDetector.cs
- UnsafeNativeMethods.cs
- Knowncolors.cs
- HMAC.cs
- X509ThumbprintKeyIdentifierClause.cs
- DebuggerAttributes.cs
- Size3DValueSerializer.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- LocalizableResourceBuilder.cs
- AnimatedTypeHelpers.cs
- SecurityTokenException.cs
- XmlCompatibilityReader.cs
- TableLayout.cs
- ToolStripItemRenderEventArgs.cs
- odbcmetadatacollectionnames.cs
- ExternalFile.cs
- ZipPackage.cs
- Highlights.cs
- _StreamFramer.cs
- Rect3D.cs
- ValidationRule.cs
- HttpGetClientProtocol.cs
- DataSourceGroupCollection.cs
- IndicShape.cs
- ScaleTransform.cs
- Variable.cs
- Logging.cs
- AsyncWaitHandle.cs
- ObjectToken.cs
- PeerApplication.cs
- DCSafeHandle.cs
- BaseDataBoundControl.cs
- DecoderNLS.cs
- AnnotationService.cs
- StringKeyFrameCollection.cs
- ApplyTemplatesAction.cs
- ListCollectionView.cs
- SchemaConstraints.cs
- UpdatableWrapper.cs
- SHA256.cs
- XmlKeywords.cs
- DBSchemaTable.cs
- AutoGeneratedFieldProperties.cs
- XmlDataSourceView.cs
- GeometryValueSerializer.cs
- RequestDescription.cs