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
- WebColorConverter.cs
- WinFormsUtils.cs
- XPathScanner.cs
- ServiceModelSecurityTokenTypes.cs
- SecurityElement.cs
- ProgressiveCrcCalculatingStream.cs
- DesignerSerializationVisibilityAttribute.cs
- documentsequencetextpointer.cs
- SqlWorkflowPersistenceService.cs
- Debug.cs
- xml.cs
- TextBounds.cs
- WindowsComboBox.cs
- WinFormsSpinner.cs
- TimersDescriptionAttribute.cs
- ConstraintManager.cs
- ProxyDataContractResolver.cs
- AmbientValueAttribute.cs
- PathSegmentCollection.cs
- GeneralTransform3DGroup.cs
- UnsafeCollabNativeMethods.cs
- LicenseProviderAttribute.cs
- XmlDataLoader.cs
- CompilerTypeWithParams.cs
- Block.cs
- GeometryCombineModeValidation.cs
- StorageEntityContainerMapping.cs
- HelpEvent.cs
- CompilationUtil.cs
- TextParagraph.cs
- RunInstallerAttribute.cs
- PropertyFilterAttribute.cs
- PaginationProgressEventArgs.cs
- ThreadSafeList.cs
- DataBoundControlDesigner.cs
- ScriptResourceInfo.cs
- StylusPointPropertyInfoDefaults.cs
- Animatable.cs
- ConfigurationLocation.cs
- HealthMonitoringSectionHelper.cs
- XPathMultyIterator.cs
- LocatorBase.cs
- TypedDatasetGenerator.cs
- ThreadStaticAttribute.cs
- CngKeyCreationParameters.cs
- Image.cs
- ProcessProtocolHandler.cs
- PixelShader.cs
- Effect.cs
- XhtmlBasicCommandAdapter.cs
- PageCatalogPart.cs
- DataProviderNameConverter.cs
- UrlParameterWriter.cs
- DispatcherTimer.cs
- RemotingHelper.cs
- PeerName.cs
- ScriptReference.cs
- DbDataReader.cs
- Vector3DAnimation.cs
- StringToken.cs
- SmiRecordBuffer.cs
- Parameter.cs
- SafeSystemMetrics.cs
- FieldToken.cs
- X509CertificateStore.cs
- DbDataSourceEnumerator.cs
- querybuilder.cs
- TagElement.cs
- InputReport.cs
- InputLanguageCollection.cs
- QilIterator.cs
- Rules.cs
- PropertyGeneratedEventArgs.cs
- SoundPlayerAction.cs
- VirtualDirectoryMappingCollection.cs
- WindowExtensionMethods.cs
- RenderOptions.cs
- ZipIOExtraFieldElement.cs
- RawMouseInputReport.cs
- GeometryGroup.cs
- CodeAccessSecurityEngine.cs
- TabControlCancelEvent.cs
- OleDbDataAdapter.cs
- DictionaryKeyPropertyAttribute.cs
- WorkflowServiceOperationListItem.cs
- DataGridPageChangedEventArgs.cs
- XmlObjectSerializerWriteContextComplex.cs
- SoapObjectReader.cs
- ProgressBarBrushConverter.cs
- KeyValueSerializer.cs
- BamlReader.cs
- ColumnProvider.cs
- BitmapDownload.cs
- DSASignatureDeformatter.cs
- Int32CollectionConverter.cs
- AvTraceFormat.cs
- PanelDesigner.cs
- HtmlWindowCollection.cs
- PersianCalendar.cs
- TextEditorMouse.cs