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
- ExpressionBinding.cs
- ConfigurationException.cs
- UpWmlPageAdapter.cs
- Attributes.cs
- ComplexLine.cs
- ActivityTypeCodeDomSerializer.cs
- SecurityCriticalDataForSet.cs
- DataTransferEventArgs.cs
- BamlCollectionHolder.cs
- RemoteEndpointMessageProperty.cs
- DragDeltaEventArgs.cs
- safemediahandle.cs
- SyndicationDeserializer.cs
- ObjectDataSourceMethodEventArgs.cs
- SystemDiagnosticsSection.cs
- WebPartsPersonalization.cs
- TemplateBindingExtensionConverter.cs
- DateTimeAutomationPeer.cs
- ClientConfigurationHost.cs
- ValidationRule.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- TextLineBreak.cs
- RegisteredScript.cs
- DesignerImageAdapter.cs
- RSAOAEPKeyExchangeFormatter.cs
- FormsAuthenticationCredentials.cs
- NativeCppClassAttribute.cs
- WmlImageAdapter.cs
- ThicknessAnimation.cs
- safelink.cs
- AssemblyHash.cs
- ApplicationServiceManager.cs
- Button.cs
- DbModificationClause.cs
- HttpProfileBase.cs
- DataExchangeServiceBinder.cs
- ExpressionNode.cs
- ListViewInsertEventArgs.cs
- ControlBuilder.cs
- ToolStripItemRenderEventArgs.cs
- EventRouteFactory.cs
- SqlBuffer.cs
- BroadcastEventHelper.cs
- ImageBrush.cs
- printdlgexmarshaler.cs
- Package.cs
- regiisutil.cs
- DbProviderSpecificTypePropertyAttribute.cs
- GeneralTransform3D.cs
- MarkupExtensionReturnTypeAttribute.cs
- GridEntry.cs
- ContentFilePart.cs
- PagesSection.cs
- RegexGroup.cs
- XmlQualifiedNameTest.cs
- EntityStoreSchemaFilterEntry.cs
- ProxyGenerator.cs
- XhtmlTextWriter.cs
- ToolStripDropDownClosingEventArgs.cs
- DataGridViewCellParsingEventArgs.cs
- WeakRefEnumerator.cs
- NameValueCollection.cs
- GridViewCancelEditEventArgs.cs
- ErrorItem.cs
- CompModSwitches.cs
- LightweightCodeGenerator.cs
- ToolBar.cs
- _HTTPDateParse.cs
- ToolStripButton.cs
- SendSecurityHeader.cs
- DataGridViewCellLinkedList.cs
- TextEffect.cs
- Table.cs
- MouseActionConverter.cs
- OleDbWrapper.cs
- ReverseInheritProperty.cs
- TransactionFilter.cs
- MessageSmuggler.cs
- TargetParameterCountException.cs
- Comparer.cs
- DesignParameter.cs
- PathFigureCollection.cs
- StrongNameIdentityPermission.cs
- EventBuilder.cs
- BitmapEffectInput.cs
- WebPartCloseVerb.cs
- HttpModuleCollection.cs
- CodeDOMUtility.cs
- SizeKeyFrameCollection.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- LicFileLicenseProvider.cs
- OleDbError.cs
- ValidationError.cs
- QueryOptionExpression.cs
- FunctionImportElement.cs
- DebugViewWriter.cs
- AuthenticationException.cs
- XmlBoundElement.cs
- UTF7Encoding.cs
- odbcmetadatacollectionnames.cs