Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / ConstraintConverter.cs / 1305376 / 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. // //[....] //[....] //[....] //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UdpChannelFactory.cs
- PersonalizationStateInfo.cs
- LinkedResource.cs
- SecurityTokenResolver.cs
- AnonymousIdentificationModule.cs
- DataTransferEventArgs.cs
- FileAuthorizationModule.cs
- precedingquery.cs
- SinglePageViewer.cs
- ClientOptions.cs
- GlyphRun.cs
- TextEditorMouse.cs
- Rotation3DAnimationUsingKeyFrames.cs
- PaginationProgressEventArgs.cs
- MemoryFailPoint.cs
- DataSet.cs
- HtmlTextArea.cs
- DataListDesigner.cs
- BinaryFormatterSinks.cs
- RemotingSurrogateSelector.cs
- DependencySource.cs
- XamlTypeMapper.cs
- SmiMetaDataProperty.cs
- MenuRendererStandards.cs
- DragStartedEventArgs.cs
- ContentElementAutomationPeer.cs
- EventDescriptor.cs
- CoreSwitches.cs
- EntityUtil.cs
- PrefixQName.cs
- DragEvent.cs
- DesignTimeVisibleAttribute.cs
- CqlErrorHelper.cs
- WSFederationHttpBindingCollectionElement.cs
- FormsIdentity.cs
- BinaryObjectWriter.cs
- HwndKeyboardInputProvider.cs
- DefaultTextStore.cs
- SqlCacheDependencyDatabase.cs
- OptimalTextSource.cs
- WebConfigurationFileMap.cs
- TabRenderer.cs
- CallbackHandler.cs
- MimeParameters.cs
- JsonQueryStringConverter.cs
- Interlocked.cs
- LocalizeDesigner.cs
- SmiSettersStream.cs
- FlowDocumentScrollViewer.cs
- DataGridViewRowCancelEventArgs.cs
- RenamedEventArgs.cs
- AuthenticationService.cs
- SqlSupersetValidator.cs
- StylusButton.cs
- MouseEventArgs.cs
- TraceContextRecord.cs
- ToolStripContainerDesigner.cs
- DodSequenceMerge.cs
- SmiSettersStream.cs
- XmlWrappingReader.cs
- TableLayout.cs
- regiisutil.cs
- StylusPointPropertyId.cs
- Convert.cs
- SortDescription.cs
- SqlUserDefinedAggregateAttribute.cs
- Mapping.cs
- LiteralControl.cs
- CatalogPart.cs
- SystemNetHelpers.cs
- SmtpReplyReader.cs
- AppDomainManager.cs
- List.cs
- BackStopAuthenticationModule.cs
- ClientSettingsStore.cs
- ApplicationGesture.cs
- xmlglyphRunInfo.cs
- EntryWrittenEventArgs.cs
- NameValueConfigurationCollection.cs
- SchemaEntity.cs
- WebPartManagerInternals.cs
- CleanUpVirtualizedItemEventArgs.cs
- DataGridCellAutomationPeer.cs
- CharacterBuffer.cs
- Int32Storage.cs
- AccessDataSourceDesigner.cs
- ProfessionalColors.cs
- ButtonBase.cs
- RubberbandSelector.cs
- XmlSchemaProviderAttribute.cs
- UrlRoutingModule.cs
- SkinBuilder.cs
- HtmlTableCellCollection.cs
- CultureInfoConverter.cs
- StoryFragments.cs
- SQLSingleStorage.cs
- TextRangeSerialization.cs
- TypeConverter.cs
- CursorConverter.cs
- TextRangeEditLists.cs