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
- CurrencyManager.cs
- HiddenFieldPageStatePersister.cs
- WebServiceData.cs
- CustomAttributeSerializer.cs
- Set.cs
- RowParagraph.cs
- ByteAnimationBase.cs
- ViewStateModeByIdAttribute.cs
- XmlSchemaComplexContentRestriction.cs
- cryptoapiTransform.cs
- HashHelpers.cs
- ObservableCollection.cs
- StorageConditionPropertyMapping.cs
- VirtualizedItemProviderWrapper.cs
- ProfileInfo.cs
- processwaithandle.cs
- SizeKeyFrameCollection.cs
- MethodToken.cs
- PeerEndPoint.cs
- CacheSection.cs
- AppDomainProtocolHandler.cs
- DetailsViewModeEventArgs.cs
- ConstraintEnumerator.cs
- ping.cs
- ExtendedPropertyDescriptor.cs
- WriteableBitmap.cs
- HideDisabledControlAdapter.cs
- Graph.cs
- QueryExpr.cs
- DataTableTypeConverter.cs
- IdentifierCollection.cs
- DSASignatureDeformatter.cs
- SqlUtil.cs
- WebPartZoneBase.cs
- wmiprovider.cs
- CheckBoxPopupAdapter.cs
- OleDbError.cs
- ToolStripActionList.cs
- EncoderReplacementFallback.cs
- RenderData.cs
- PackageStore.cs
- MemberHolder.cs
- DesignerRegionMouseEventArgs.cs
- SqlError.cs
- M3DUtil.cs
- LinkUtilities.cs
- ColorConvertedBitmap.cs
- BoundsDrawingContextWalker.cs
- CultureInfoConverter.cs
- PointAnimationClockResource.cs
- KnownBoxes.cs
- WindowShowOrOpenTracker.cs
- DoubleAnimation.cs
- DurationConverter.cs
- ConditionalWeakTable.cs
- SettingsPropertyIsReadOnlyException.cs
- FormDocumentDesigner.cs
- DbProviderConfigurationHandler.cs
- CodeStatement.cs
- RawStylusActions.cs
- ListControlConvertEventArgs.cs
- columnmapkeybuilder.cs
- NodeInfo.cs
- CultureInfoConverter.cs
- AccessText.cs
- FieldTemplateFactory.cs
- MethodAccessException.cs
- PartialCachingAttribute.cs
- ResourceReferenceExpression.cs
- MetadataProperty.cs
- AssemblyHash.cs
- DoubleLinkListEnumerator.cs
- DataControlLinkButton.cs
- TreeNodeStyleCollection.cs
- LocationReferenceEnvironment.cs
- SourceChangedEventArgs.cs
- CharEnumerator.cs
- Unit.cs
- Pen.cs
- TextServicesCompartmentContext.cs
- CipherData.cs
- MobileCapabilities.cs
- TransformPattern.cs
- ApplicationHost.cs
- SamlAssertion.cs
- SqlDataSourceSelectingEventArgs.cs
- ResourceAssociationTypeEnd.cs
- TraceUtility.cs
- AttachedPropertyInfo.cs
- SynchronizingStream.cs
- ApplicationId.cs
- WindowsClaimSet.cs
- ColorConverter.cs
- ResourceKey.cs
- ListControl.cs
- MessageRpc.cs
- TimersDescriptionAttribute.cs
- SqlBuilder.cs
- RootDesignerSerializerAttribute.cs
- SctClaimDictionary.cs