Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / System / data / design / TypedTableHandler.cs / 2 / TypedTableHandler.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All Rights Reserved. // Information Contained Herein is Proprietary and Confidential. // //----------------------------------------------------------------------------- namespace System.Data.Design { using System; using System.CodeDom; using System.Collections; using System.ComponentModel; using System.Data; internal sealed class TypedTableHandler { private TypedDataSourceCodeGenerator codeGenerator = null; private TypedTableGenerator tableGenerator = null; private DesignTableCollection tables = null; private Hashtable columnHandlers = null; internal TypedTableHandler(TypedDataSourceCodeGenerator codeGenerator, DesignTableCollection tables) { this.codeGenerator = codeGenerator; this.tables = tables; tableGenerator = new TypedTableGenerator(codeGenerator); SetColumnHandlers(); } internal DesignTableCollection Tables { get { return tables; } } internal TypedColumnHandler GetColumnHandler(string tableName) { if( tableName == null ) { return null; } return (TypedColumnHandler) columnHandlers[tableName]; } internal void AddPrivateVars(CodeTypeDeclaration dataSourceClass) { if( tables == null ) { return; } foreach(DesignTable table in tables) { string tableClassName = table.GeneratorTableClassName; string tableVariableName = table.GeneratorTableVarName; //\\ private; dataSourceClass.Members.Add( CodeGenHelper.FieldDecl(CodeGenHelper.Type(tableClassName), tableVariableName) ); } } internal void AddTableProperties(CodeTypeDeclaration dataSourceClass) { if( tables == null ) { return; } foreach(DesignTable table in tables) { // get class/property/variable names string tableClassName = table.GeneratorTableClassName; string tablePropertyName = table.GeneratorTablePropName; string tableVariableName = table.GeneratorTableVarName; // generate 1 public property for each typed table //\\ [System.ComponentModel.Browsable(false)] //\\ [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)] //\\ public { //\\ get { //\\ return this. ; //\\ } //\\ } CodeMemberProperty tableProperty = CodeGenHelper.PropertyDecl( CodeGenHelper.Type(tableClassName), tablePropertyName, MemberAttributes.Public | MemberAttributes.Final ); tableProperty.CustomAttributes.Add( CodeGenHelper.AttributeDecl("System.ComponentModel.Browsable", CodeGenHelper.Primitive(false))); tableProperty.CustomAttributes.Add( CodeGenHelper.AttributeDecl("System.ComponentModel.DesignerSerializationVisibility", CodeGenHelper.Field(CodeGenHelper.GlobalTypeExpr(typeof(System.ComponentModel.DesignerSerializationVisibility)), "Content")) ); tableProperty.GetStatements.Add( CodeGenHelper.Return( CodeGenHelper.Field( CodeGenHelper.This(), tableVariableName))); dataSourceClass.Members.Add(tableProperty); } } internal void AddTableClasses(CodeTypeDeclaration dataSourceClass) { tableGenerator.GenerateTables(dataSourceClass); } private void SetColumnHandlers() { this.columnHandlers = new Hashtable(); foreach(DesignTable table in tables) { columnHandlers.Add(table.Name, new TypedColumnHandler(table, codeGenerator)); } } } } // 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
- UTF7Encoding.cs
- StartFileNameEditor.cs
- MenuItemBinding.cs
- Message.cs
- Serializer.cs
- MimeMapping.cs
- IItemProperties.cs
- HostedHttpRequestAsyncResult.cs
- DbConnectionHelper.cs
- ConnectionPoint.cs
- SR.cs
- DispatcherOperation.cs
- XmlSchemaAttributeGroup.cs
- XmlIlTypeHelper.cs
- Geometry3D.cs
- SynchronizationContext.cs
- CatalogZoneBase.cs
- AxWrapperGen.cs
- HttpConfigurationSystem.cs
- ManagementQuery.cs
- ResourceManager.cs
- FatalException.cs
- DispatcherHookEventArgs.cs
- KeyboardDevice.cs
- TemplateBuilder.cs
- UnrecognizedAssertionsBindingElement.cs
- HyperLink.cs
- RectAnimationUsingKeyFrames.cs
- RuleSet.cs
- EncoderReplacementFallback.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- SpStreamWrapper.cs
- RowToFieldTransformer.cs
- ApplicationDirectoryMembershipCondition.cs
- ScalarOps.cs
- StrokeNodeOperations.cs
- EventRoute.cs
- ByteStorage.cs
- BitmapCodecInfoInternal.cs
- UpdatePanelTrigger.cs
- ListControlActionList.cs
- DataGridViewRowHeaderCell.cs
- NamespaceDecl.cs
- SQLBinaryStorage.cs
- XMLUtil.cs
- Queue.cs
- ScriptResourceMapping.cs
- FrameworkContentElementAutomationPeer.cs
- OutputWindow.cs
- DetailsViewUpdateEventArgs.cs
- WebConfigurationHostFileChange.cs
- ConnectionStringsSection.cs
- OpenTypeLayout.cs
- ArraySortHelper.cs
- MediaElement.cs
- TagPrefixInfo.cs
- ConfigurationValidatorBase.cs
- MorphHelpers.cs
- DataGridViewRowCollection.cs
- ObjectDataSourceDisposingEventArgs.cs
- BinaryObjectInfo.cs
- ContentElement.cs
- TargetConverter.cs
- LocalizedNameDescriptionPair.cs
- Transactions.cs
- CategoryAttribute.cs
- RegexGroupCollection.cs
- PageStatePersister.cs
- SchemaElementDecl.cs
- BooleanStorage.cs
- KnownTypeDataContractResolver.cs
- TraceContextEventArgs.cs
- KoreanCalendar.cs
- PrePrepareMethodAttribute.cs
- DateTimeValueSerializerContext.cs
- UnaryOperationBinder.cs
- Debugger.cs
- SoapProtocolImporter.cs
- SQLMoney.cs
- HandledMouseEvent.cs
- ResourcePool.cs
- ProtectedConfigurationSection.cs
- BamlLocalizableResource.cs
- AssertSection.cs
- DomainUpDown.cs
- Int32KeyFrameCollection.cs
- TrustManagerMoreInformation.cs
- WsiProfilesElementCollection.cs
- ServiceMetadataExtension.cs
- Version.cs
- SqlServer2KCompatibilityCheck.cs
- WindowsListBox.cs
- cache.cs
- ConnectionPoolManager.cs
- DispatcherOperation.cs
- DataProtection.cs
- RelatedCurrencyManager.cs
- FormParameter.cs
- ProcessDesigner.cs
- SingleTagSectionHandler.cs