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
- DependencySource.cs
- CachedPathData.cs
- VectorConverter.cs
- MobileListItem.cs
- FixedStringLookup.cs
- ItemsChangedEventArgs.cs
- DataServiceContext.cs
- ColorConvertedBitmapExtension.cs
- TextTrailingWordEllipsis.cs
- SecurityRuntime.cs
- SuppressIldasmAttribute.cs
- MemberExpression.cs
- PropertyChange.cs
- CqlLexer.cs
- TemplateBindingExtensionConverter.cs
- FrameSecurityDescriptor.cs
- AuthorizationRule.cs
- NumberFunctions.cs
- RemoveStoryboard.cs
- SessionStateUtil.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- ProbeMatchesMessageCD1.cs
- Triplet.cs
- Header.cs
- QuotedPairReader.cs
- LocalizabilityAttribute.cs
- SpinLock.cs
- AdPostCacheSubstitution.cs
- DeferredBinaryDeserializerExtension.cs
- XamlBuildProvider.cs
- WebServicesSection.cs
- StylusShape.cs
- Version.cs
- SqlDataSourceView.cs
- SqlServices.cs
- DtdParser.cs
- OutKeywords.cs
- RequestQueue.cs
- HttpWriter.cs
- SortFieldComparer.cs
- FunctionNode.cs
- FrameworkContentElement.cs
- PointLightBase.cs
- Schema.cs
- PropertyToken.cs
- ErrorFormatterPage.cs
- AnimationClock.cs
- TerminatorSinks.cs
- TextContainerChangedEventArgs.cs
- Command.cs
- FrameworkContentElementAutomationPeer.cs
- CodeLinePragma.cs
- EntityCommandCompilationException.cs
- ColumnResizeUndoUnit.cs
- ToolStripStatusLabel.cs
- PipelineComponent.cs
- NullableLongSumAggregationOperator.cs
- FixedSOMGroup.cs
- VisualBrush.cs
- DataGridViewDataErrorEventArgs.cs
- WaitHandleCannotBeOpenedException.cs
- ReadOnlyObservableCollection.cs
- PageAsyncTaskManager.cs
- UDPClient.cs
- FilteredDataSetHelper.cs
- ErrorFormatter.cs
- RuleSettingsCollection.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- SqlMethods.cs
- ObjectDataSourceFilteringEventArgs.cs
- DbConnectionPoolGroup.cs
- Compiler.cs
- OleDbReferenceCollection.cs
- Baml6ConstructorInfo.cs
- CodeSubDirectoriesCollection.cs
- DataGridState.cs
- EnumValidator.cs
- ModelTreeEnumerator.cs
- WpfPayload.cs
- SystemNetHelpers.cs
- entityreference_tresulttype.cs
- Shape.cs
- IdentitySection.cs
- RunClient.cs
- IssuedSecurityTokenParameters.cs
- SessionState.cs
- ConstraintCollection.cs
- ObjectCloneHelper.cs
- VirtualDirectoryMappingCollection.cs
- OptimalTextSource.cs
- ProgressBarRenderer.cs
- TrustSection.cs
- AutomationProperties.cs
- MarkupWriter.cs
- ManifestResourceInfo.cs
- TemplateXamlParser.cs
- SafePEFileHandle.cs
- ActivityDesigner.cs
- BulletChrome.cs
- ComponentChangedEvent.cs