Code:
/ FX-1434 / FX-1434 / 1.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
- InternalBufferOverflowException.cs
- AssemblySettingAttributes.cs
- LambdaExpression.cs
- CodePropertyReferenceExpression.cs
- XmlSchemas.cs
- FreeFormDesigner.cs
- WindowsStartMenu.cs
- DbConnectionPoolCounters.cs
- DynamicDataExtensions.cs
- NonValidatingSecurityTokenAuthenticator.cs
- DrawListViewColumnHeaderEventArgs.cs
- BindableTemplateBuilder.cs
- ArglessEventHandlerProxy.cs
- SingleSelectRootGridEntry.cs
- ComponentDesigner.cs
- HtmlTableCellCollection.cs
- TypeDescriptorFilterService.cs
- CommonRemoteMemoryBlock.cs
- CellParagraph.cs
- _NestedMultipleAsyncResult.cs
- ObjectItemCollection.cs
- DtdParser.cs
- SqlRecordBuffer.cs
- IsolationInterop.cs
- EditorZoneBase.cs
- StrokeNodeOperations.cs
- Coordinator.cs
- RichTextBox.cs
- RuntimeCompatibilityAttribute.cs
- Panel.cs
- HtmlTableRow.cs
- FixedSOMFixedBlock.cs
- TextTreeInsertElementUndoUnit.cs
- AutomationPropertyInfo.cs
- DataGridPageChangedEventArgs.cs
- RightsManagementEncryptionTransform.cs
- XpsFilter.cs
- DataGridViewTopRowAccessibleObject.cs
- TextSimpleMarkerProperties.cs
- RuleAttributes.cs
- WindowsFormsEditorServiceHelper.cs
- DataRelationCollection.cs
- DataGridTableCollection.cs
- PageTheme.cs
- Variant.cs
- TrueReadOnlyCollection.cs
- DataGridCaption.cs
- WindowsContainer.cs
- ThreadStartException.cs
- HelpInfo.cs
- Authorization.cs
- EdmSchemaError.cs
- ProxyWebPartManager.cs
- ViewGenerator.cs
- DesignerVerbCollection.cs
- WebUtility.cs
- UInt64Storage.cs
- DetailsViewRow.cs
- BufferedGraphics.cs
- TableLayoutSettingsTypeConverter.cs
- NavigationProgressEventArgs.cs
- TypeListConverter.cs
- MarkupExtensionReturnTypeAttribute.cs
- TextEditor.cs
- Tokenizer.cs
- OAVariantLib.cs
- DBBindings.cs
- LinearGradientBrush.cs
- InvalidCastException.cs
- DecoderFallback.cs
- TextPattern.cs
- SortQuery.cs
- NamespaceCollection.cs
- WhitespaceRule.cs
- FileLogRecordEnumerator.cs
- PageCodeDomTreeGenerator.cs
- PathGeometry.cs
- filewebrequest.cs
- RedirectionProxy.cs
- PartialCachingControl.cs
- SplashScreenNativeMethods.cs
- CommandDevice.cs
- ExceptionHelpers.cs
- MenuItemBindingCollection.cs
- GridViewSelectEventArgs.cs
- WebPartConnectionsCancelVerb.cs
- PermissionSet.cs
- FtpCachePolicyElement.cs
- MarshalDirectiveException.cs
- DataGridCommandEventArgs.cs
- BitStream.cs
- SqlWebEventProvider.cs
- HwndHostAutomationPeer.cs
- AssemblyNameProxy.cs
- ApplicationTrust.cs
- TextServicesCompartmentEventSink.cs
- MdiWindowListItemConverter.cs
- Component.cs
- MessageQueuePermissionAttribute.cs
- TextRangeProviderWrapper.cs