Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / System / Data / ConstraintConverter.cs / 1 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextTreeRootNode.cs
- ScaleTransform.cs
- SqlWebEventProvider.cs
- TreeSet.cs
- XsdCachingReader.cs
- MultiDataTrigger.cs
- RemoteWebConfigurationHostServer.cs
- BinaryConverter.cs
- TemplateBamlTreeBuilder.cs
- ScrollEventArgs.cs
- Process.cs
- Unit.cs
- columnmapkeybuilder.cs
- IsolatedStorageFileStream.cs
- XsltLibrary.cs
- IndicShape.cs
- DbDataReader.cs
- PrimitiveCodeDomSerializer.cs
- ControlTemplate.cs
- SoapIncludeAttribute.cs
- MessageContractImporter.cs
- ComponentChangedEvent.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- VisualStyleInformation.cs
- WebServiceResponse.cs
- FontSource.cs
- MarkupExtensionReturnTypeAttribute.cs
- FuncTypeConverter.cs
- StringStorage.cs
- DrawingImage.cs
- XmlNamespaceDeclarationsAttribute.cs
- TimeZone.cs
- RectValueSerializer.cs
- CommonDialog.cs
- PreviewPrintController.cs
- IDReferencePropertyAttribute.cs
- CounterSample.cs
- Parameter.cs
- LambdaCompiler.Logical.cs
- EntityParameterCollection.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ValueProviderWrapper.cs
- CacheRequest.cs
- Span.cs
- VectorCollectionValueSerializer.cs
- NetDispatcherFaultException.cs
- DataServiceResponse.cs
- HtmlUtf8RawTextWriter.cs
- HtmlTableRowCollection.cs
- XmlNamespaceManager.cs
- UTF8Encoding.cs
- DbExpressionBuilder.cs
- Panel.cs
- DataKeyArray.cs
- RegisteredScript.cs
- MimeMultiPart.cs
- wgx_render.cs
- NullExtension.cs
- DataFormat.cs
- metadatamappinghashervisitor.cs
- InputLangChangeRequestEvent.cs
- DoubleConverter.cs
- FamilyMapCollection.cs
- TextAction.cs
- regiisutil.cs
- ConfigXmlComment.cs
- ToolStripPanel.cs
- DataGridPageChangedEventArgs.cs
- ListMarkerSourceInfo.cs
- CssStyleCollection.cs
- AppDomainAttributes.cs
- LinqDataSourceDisposeEventArgs.cs
- FilteredAttributeCollection.cs
- Viewport3DAutomationPeer.cs
- CustomError.cs
- PartialList.cs
- SizeAnimationUsingKeyFrames.cs
- IsolatedStorageException.cs
- TextFormatterImp.cs
- MessageParameterAttribute.cs
- SemaphoreSlim.cs
- OleDbError.cs
- WindowExtensionMethods.cs
- OleDbEnumerator.cs
- ActivityBindForm.Designer.cs
- SchemaMerger.cs
- Rectangle.cs
- XmlValidatingReader.cs
- EditCommandColumn.cs
- DesignRelationCollection.cs
- _HeaderInfoTable.cs
- HtmlLinkAdapter.cs
- SchemaInfo.cs
- RedBlackList.cs
- SettingsProperty.cs
- CompositeActivityTypeDescriptorProvider.cs
- WindowsProgressbar.cs
- WithParamAction.cs
- ListItemsPage.cs
- RemotingConfigParser.cs