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
- ContractMapping.cs
- Form.cs
- BaseEntityWrapper.cs
- EUCJPEncoding.cs
- EntityModelBuildProvider.cs
- WebHeaderCollection.cs
- InstalledFontCollection.cs
- LinkLabel.cs
- NetworkAddressChange.cs
- CustomAttributeFormatException.cs
- MarkupCompiler.cs
- SoapConverter.cs
- Helpers.cs
- ImageAnimator.cs
- RenderOptions.cs
- ValidationEventArgs.cs
- Int32RectConverter.cs
- ColumnTypeConverter.cs
- Blend.cs
- DecoratedNameAttribute.cs
- SharedPerformanceCounter.cs
- ThreadPoolTaskScheduler.cs
- PathData.cs
- ToolStripOverflowButton.cs
- TextElementCollectionHelper.cs
- SpeechRecognitionEngine.cs
- TableLayoutStyle.cs
- MarkupCompiler.cs
- GlyphRunDrawing.cs
- Rotation3DAnimation.cs
- LocalizableAttribute.cs
- Matrix3D.cs
- ObjectComplexPropertyMapping.cs
- ImageMapEventArgs.cs
- XsltSettings.cs
- DesignerDataParameter.cs
- SystemIPGlobalStatistics.cs
- ClonableStack.cs
- OptionUsage.cs
- UpdateEventArgs.cs
- _BaseOverlappedAsyncResult.cs
- PaintEvent.cs
- WebPartTracker.cs
- XmlLinkedNode.cs
- Journal.cs
- XPathNodeInfoAtom.cs
- CollaborationHelperFunctions.cs
- LocalServiceSecuritySettingsElement.cs
- IconBitmapDecoder.cs
- SoapReflectionImporter.cs
- UTF8Encoding.cs
- AssemblyCollection.cs
- Bold.cs
- BitmapImage.cs
- GetLastErrorDetailsRequest.cs
- XPathConvert.cs
- HashHelper.cs
- ComponentGlyph.cs
- DrawingContextWalker.cs
- GeneralTransform2DTo3DTo2D.cs
- DataServiceCollectionOfT.cs
- DefaultWorkflowLoaderService.cs
- Errors.cs
- ClientConfigPaths.cs
- PrintControllerWithStatusDialog.cs
- SequenceDesignerAccessibleObject.cs
- basevalidator.cs
- StateDesignerConnector.cs
- WorkflowControlEndpoint.cs
- CodeCatchClause.cs
- TransportConfigurationTypeElementCollection.cs
- FlowDocumentFormatter.cs
- FixedSOMFixedBlock.cs
- DateTimeOffsetStorage.cs
- ImageConverter.cs
- DrawingGroupDrawingContext.cs
- JsonStringDataContract.cs
- EventSourceCreationData.cs
- IisTraceListener.cs
- TableProviderWrapper.cs
- IsolatedStorage.cs
- IERequestCache.cs
- messageonlyhwndwrapper.cs
- ThousandthOfEmRealPoints.cs
- DataGridItemCollection.cs
- UnsafeNativeMethods.cs
- Brush.cs
- HtmlInputCheckBox.cs
- ProfileProvider.cs
- ViewRendering.cs
- MessageQuerySet.cs
- IResourceProvider.cs
- DataSvcMapFileSerializer.cs
- UpdateCompiler.cs
- SafeEventLogWriteHandle.cs
- EdmConstants.cs
- DataIdProcessor.cs
- KnownTypesProvider.cs
- _ListenerRequestStream.cs
- PLINQETWProvider.cs