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
- GetPageCompletedEventArgs.cs
- BaseResourcesBuildProvider.cs
- WrappedIUnknown.cs
- SQLRoleProvider.cs
- LongTypeConverter.cs
- ExpressionBuilderContext.cs
- TableLayoutCellPaintEventArgs.cs
- WebPartCancelEventArgs.cs
- FormClosedEvent.cs
- ApplicationBuildProvider.cs
- returneventsaver.cs
- XPathParser.cs
- FixedDocumentSequencePaginator.cs
- ReliableReplySessionChannel.cs
- ArrangedElement.cs
- FixedNode.cs
- AddingNewEventArgs.cs
- ConstraintEnumerator.cs
- SendMailErrorEventArgs.cs
- RoleGroup.cs
- MILUtilities.cs
- RectangleHotSpot.cs
- ToolStripItemEventArgs.cs
- TemplateControlCodeDomTreeGenerator.cs
- Vector3D.cs
- TableItemStyle.cs
- WindowsIdentity.cs
- ProviderIncompatibleException.cs
- SeekableReadStream.cs
- CodeMemberMethod.cs
- XPathScanner.cs
- Directory.cs
- SessionStateSection.cs
- ReflectionTypeLoadException.cs
- Byte.cs
- TextSelectionHighlightLayer.cs
- WebServicesDescriptionAttribute.cs
- HtmlInputPassword.cs
- ButtonFlatAdapter.cs
- DataReaderContainer.cs
- TreePrinter.cs
- LayoutTable.cs
- _Connection.cs
- GenericTypeParameterBuilder.cs
- SizeValueSerializer.cs
- Rotation3DAnimationBase.cs
- DetailsViewDeleteEventArgs.cs
- DataGridViewCellParsingEventArgs.cs
- WindowsServiceCredential.cs
- ResourceType.cs
- PrintControllerWithStatusDialog.cs
- DateRangeEvent.cs
- SHA256.cs
- PathFigure.cs
- FirstMatchCodeGroup.cs
- HtmlElementEventArgs.cs
- XmlUTF8TextWriter.cs
- DelegateBodyWriter.cs
- ExpressionQuoter.cs
- WebEventCodes.cs
- XmlBoundElement.cs
- ItemType.cs
- Timeline.cs
- UInt16.cs
- ArrayWithOffset.cs
- TemplateBamlRecordReader.cs
- FacetEnabledSchemaElement.cs
- TransactionScope.cs
- RequestCacheEntry.cs
- CodeCommentStatementCollection.cs
- TextElementCollection.cs
- ModuleBuilderData.cs
- documentsequencetextview.cs
- securitycriticaldata.cs
- WebServicesInteroperability.cs
- ExclusiveCanonicalizationTransform.cs
- Component.cs
- SpotLight.cs
- UnsignedPublishLicense.cs
- InstanceDescriptor.cs
- StringPropertyBuilder.cs
- VisualStyleInformation.cs
- GPRECT.cs
- ProfileGroupSettings.cs
- DetailsViewRowCollection.cs
- ScrollItemProviderWrapper.cs
- RepeaterItem.cs
- TreeNodeEventArgs.cs
- BitmapCodecInfoInternal.cs
- WebBrowsableAttribute.cs
- COM2ComponentEditor.cs
- BindingElementExtensionElement.cs
- SafeRegistryHandle.cs
- RegistryPermission.cs
- PersonalizationStateInfoCollection.cs
- SrgsToken.cs
- QueryStringParameter.cs
- XPathAncestorQuery.cs
- WebBrowser.cs
- DataGridViewAccessibleObject.cs