Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StrongNameKeyPair.cs
- SqlProviderManifest.cs
- DataGridViewRow.cs
- MetadataUtilsSmi.cs
- ScrollChrome.cs
- assemblycache.cs
- DecoderExceptionFallback.cs
- ObjectStateEntry.cs
- NGCUIElementCollectionSerializerAsync.cs
- Bold.cs
- DataColumn.cs
- FontFamilyIdentifier.cs
- CultureInfoConverter.cs
- WebPartConnectionsConfigureVerb.cs
- AnnotationComponentChooser.cs
- EllipseGeometry.cs
- ExpressionNode.cs
- DataTemplateSelector.cs
- SystemGatewayIPAddressInformation.cs
- TraceLevelStore.cs
- XmlUrlEditor.cs
- LongValidator.cs
- BindingMemberInfo.cs
- InstanceCollisionException.cs
- SoapObjectReader.cs
- KeyInstance.cs
- TextFindEngine.cs
- SamlAuthenticationStatement.cs
- Calendar.cs
- CompilerGeneratedAttribute.cs
- PageParser.cs
- ObjectQueryState.cs
- MediaTimeline.cs
- DocumentViewerAutomationPeer.cs
- SystemNetHelpers.cs
- ManagedCodeMarkers.cs
- AggregateNode.cs
- precedingsibling.cs
- NextPreviousPagerField.cs
- TextElementEditingBehaviorAttribute.cs
- InvalidDataContractException.cs
- SerializerDescriptor.cs
- ShaderEffect.cs
- TextFindEngine.cs
- Attributes.cs
- RepeaterItemEventArgs.cs
- RootBrowserWindow.cs
- RecordsAffectedEventArgs.cs
- CssStyleCollection.cs
- SymmetricKey.cs
- Automation.cs
- ObjectDesignerDataSourceView.cs
- validation.cs
- CodeConditionStatement.cs
- X509SecurityTokenAuthenticator.cs
- IxmlLineInfo.cs
- WindowsFormsHost.cs
- ReceiveReply.cs
- ConfigXmlReader.cs
- TypeElement.cs
- ControlEvent.cs
- TextServicesManager.cs
- ScriptingSectionGroup.cs
- FontDifferentiator.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- SystemWebExtensionsSectionGroup.cs
- CqlLexer.cs
- Executor.cs
- DoubleCollectionConverter.cs
- DbConnectionPoolCounters.cs
- SemanticResolver.cs
- DocumentReferenceCollection.cs
- KeyboardDevice.cs
- HighlightComponent.cs
- CodeGroup.cs
- MimeMapping.cs
- InvokeMethodActivity.cs
- QueryInterceptorAttribute.cs
- TransformedBitmap.cs
- CompModSwitches.cs
- Decorator.cs
- CodeGenerator.cs
- QuotedPrintableStream.cs
- DispatcherSynchronizationContext.cs
- streamingZipPartStream.cs
- HtmlGenericControl.cs
- Lease.cs
- ClientSession.cs
- HtmlInputCheckBox.cs
- Closure.cs
- BooleanSwitch.cs
- altserialization.cs
- DataSourceDesigner.cs
- loginstatus.cs
- SelectQueryOperator.cs
- ScriptingAuthenticationServiceSection.cs
- BehaviorService.cs
- ReflectEventDescriptor.cs
- DataGridColumnReorderingEventArgs.cs
- NavigatingCancelEventArgs.cs