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
- XmlC14NWriter.cs
- XdrBuilder.cs
- CatalogZone.cs
- ResourceManager.cs
- TextEffectResolver.cs
- StoryFragments.cs
- ServiceDescriptions.cs
- WebConfigurationFileMap.cs
- SettingsContext.cs
- DBSchemaTable.cs
- TimelineGroup.cs
- FileFormatException.cs
- DocumentAutomationPeer.cs
- DesignerCatalogPartChrome.cs
- FileStream.cs
- VariableBinder.cs
- AnonymousIdentificationModule.cs
- MsmqProcessProtocolHandler.cs
- OrderedEnumerableRowCollection.cs
- SQLSingleStorage.cs
- WinEventWrap.cs
- InfiniteTimeSpanConverter.cs
- Descriptor.cs
- Properties.cs
- QilTargetType.cs
- MouseGesture.cs
- UidPropertyAttribute.cs
- StringSorter.cs
- RoleManagerModule.cs
- PeerNameRegistration.cs
- ReadWriteSpinLock.cs
- BlurBitmapEffect.cs
- SqlDeflator.cs
- SqlServices.cs
- RankException.cs
- WebBrowser.cs
- XmlToDatasetMap.cs
- ReadOnlyDataSourceView.cs
- SimpleWorkerRequest.cs
- RoleGroupCollection.cs
- EncryptedKey.cs
- SettingsBase.cs
- PropertyInformationCollection.cs
- DesignerResources.cs
- UniqueConstraint.cs
- SetterBase.cs
- WindowInteropHelper.cs
- ResourcePool.cs
- CurrentChangingEventManager.cs
- UIElementCollection.cs
- ApplicationInterop.cs
- SchemaImporterExtensionElement.cs
- _SSPISessionCache.cs
- DataBoundLiteralControl.cs
- EventSinkHelperWriter.cs
- ComponentGlyph.cs
- ButtonRenderer.cs
- Mutex.cs
- InputScopeNameConverter.cs
- MostlySingletonList.cs
- Schema.cs
- HwndKeyboardInputProvider.cs
- CatalogPartCollection.cs
- ModelUIElement3D.cs
- SQLDecimalStorage.cs
- MethodBuilder.cs
- RevocationPoint.cs
- ManagedWndProcTracker.cs
- SecurityChannel.cs
- OracleException.cs
- SettingsProperty.cs
- Color.cs
- CustomAttribute.cs
- AuthenticationService.cs
- ProviderBase.cs
- StaticContext.cs
- WinEventHandler.cs
- AuthenticateEventArgs.cs
- KeyPressEvent.cs
- PermissionAttributes.cs
- FormViewCommandEventArgs.cs
- MdiWindowListStrip.cs
- RoutedEventArgs.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- WorkflowRuntimeElement.cs
- HexParser.cs
- Typeface.cs
- XmlArrayAttribute.cs
- XPathChildIterator.cs
- Preprocessor.cs
- DiscoveryReference.cs
- ArrayListCollectionBase.cs
- VirtualPathUtility.cs
- NegotiateStream.cs
- Transform.cs
- ShapeTypeface.cs
- ListViewItem.cs
- DrawingState.cs
- DataProviderNameConverter.cs
- Mouse.cs