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
- TextContainerHelper.cs
- SHA512Managed.cs
- UInt16Converter.cs
- SafeNativeMethods.cs
- RadioButton.cs
- Literal.cs
- FreeFormPanel.cs
- PropertyGridView.cs
- GenericXmlSecurityToken.cs
- TextAnchor.cs
- DataGridViewHitTestInfo.cs
- Publisher.cs
- GridItemProviderWrapper.cs
- ZoneButton.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- XmlComment.cs
- ListManagerBindingsCollection.cs
- XmlHierarchicalEnumerable.cs
- VectorAnimationUsingKeyFrames.cs
- ExceptQueryOperator.cs
- WpfGeneratedKnownTypes.cs
- dtdvalidator.cs
- DbConnectionClosed.cs
- MsdtcClusterUtils.cs
- DataViewListener.cs
- ParamArrayAttribute.cs
- mediaeventargs.cs
- StdValidatorsAndConverters.cs
- WebPartConnectionsCancelEventArgs.cs
- MD5HashHelper.cs
- CheckoutException.cs
- GridItemProviderWrapper.cs
- GridPattern.cs
- QueryStringParameter.cs
- ViewEventArgs.cs
- Glyph.cs
- AccessDataSourceView.cs
- FileIOPermission.cs
- XmlObjectSerializerReadContext.cs
- RewritingValidator.cs
- RelatedImageListAttribute.cs
- MSHTMLHostUtil.cs
- HostedHttpTransportManager.cs
- ClientScriptManager.cs
- HttpListenerRequest.cs
- ScrollableControl.cs
- UnaryNode.cs
- ApplicationContext.cs
- UncommonField.cs
- Int32KeyFrameCollection.cs
- Registry.cs
- FilteredAttributeCollection.cs
- AnnotationComponentChooser.cs
- ArgumentOutOfRangeException.cs
- QilChoice.cs
- StateMachineWorkflowInstance.cs
- WindowsGrip.cs
- TrustVersion.cs
- FileChangeNotifier.cs
- PropertyGroupDescription.cs
- X509ClientCertificateAuthentication.cs
- Resources.Designer.cs
- SerialErrors.cs
- WebContext.cs
- AutomationProperties.cs
- DataDesignUtil.cs
- XmlCDATASection.cs
- GlyphCache.cs
- compensatingcollection.cs
- BlurEffect.cs
- RuntimeConfigLKG.cs
- HostingEnvironmentSection.cs
- CodeMethodMap.cs
- ProcessThread.cs
- TimeManager.cs
- SqlStream.cs
- SettingsContext.cs
- CqlIdentifiers.cs
- CounterCreationData.cs
- SubtreeProcessor.cs
- SafeRegistryKey.cs
- ZoneLinkButton.cs
- XamlSerializer.cs
- Decorator.cs
- HuffmanTree.cs
- UnaryExpressionHelper.cs
- XmlSerializerAssemblyAttribute.cs
- SqlCacheDependencyDatabase.cs
- TemplateKeyConverter.cs
- MultiDataTrigger.cs
- XmlILTrace.cs
- SubMenuStyle.cs
- SqlServices.cs
- UTF7Encoding.cs
- WmpBitmapDecoder.cs
- ConsumerConnectionPoint.cs
- Error.cs
- ChannelDispatcher.cs
- UndoManager.cs
- HttpPostedFile.cs