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
- SkewTransform.cs
- RoutedCommand.cs
- SqlProcedureAttribute.cs
- WindowsMenu.cs
- GPPOINTF.cs
- ComponentChangedEvent.cs
- SafePointer.cs
- ListItemDetailViewAttribute.cs
- ToolStripEditorManager.cs
- ViewDesigner.cs
- JoinElimination.cs
- SequenceDesigner.cs
- DetailsViewRow.cs
- LookupNode.cs
- ComPlusThreadInitializer.cs
- ResXResourceReader.cs
- OdbcParameterCollection.cs
- SharedDp.cs
- Merger.cs
- ApplicationManager.cs
- RSAOAEPKeyExchangeDeformatter.cs
- DeferredElementTreeState.cs
- EdmConstants.cs
- TextSpanModifier.cs
- WriteableBitmap.cs
- BindingsCollection.cs
- Formatter.cs
- X509Certificate2Collection.cs
- DataGridViewDataConnection.cs
- KeyEventArgs.cs
- WebRequestModuleElement.cs
- KeyFrames.cs
- HtmlHistory.cs
- Compress.cs
- PartialCachingAttribute.cs
- ToolStripItemRenderEventArgs.cs
- ObjectStateEntry.cs
- IndexOutOfRangeException.cs
- Currency.cs
- CapabilitiesUse.cs
- WebPartConnectionsCancelVerb.cs
- ContextMarshalException.cs
- GlobalEventManager.cs
- RegexGroupCollection.cs
- CustomTrackingRecord.cs
- FormatConvertedBitmap.cs
- CollectionContainer.cs
- DbConnectionOptions.cs
- AdornerHitTestResult.cs
- TypeBuilder.cs
- SpoolingTaskBase.cs
- DbConnectionClosed.cs
- WrapperEqualityComparer.cs
- TextBoxBase.cs
- ProxyHelper.cs
- ExpressionVisitor.cs
- TableRowGroup.cs
- OpenTypeCommon.cs
- FactoryMaker.cs
- EntityPropertyMappingAttribute.cs
- ManagementScope.cs
- DragEvent.cs
- ActivationArguments.cs
- CodeDelegateCreateExpression.cs
- CodeSnippetTypeMember.cs
- OLEDB_Util.cs
- InstanceDataCollection.cs
- coordinatorscratchpad.cs
- DbProviderManifest.cs
- MobileTemplatedControlDesigner.cs
- XPathCompiler.cs
- FocusWithinProperty.cs
- MarshalDirectiveException.cs
- Line.cs
- ValidateNames.cs
- ConfigurationManager.cs
- Deflater.cs
- RequestedSignatureDialog.cs
- ChildTable.cs
- TableRow.cs
- StateFinalizationDesigner.cs
- DebugView.cs
- InstanceCollisionException.cs
- DataGridViewComboBoxEditingControl.cs
- SqlDataAdapter.cs
- IdnMapping.cs
- TextFormatter.cs
- RowType.cs
- HttpResponseWrapper.cs
- CodeVariableDeclarationStatement.cs
- FillBehavior.cs
- TogglePattern.cs
- DecimalStorage.cs
- SQLInt32.cs
- CounterCreationData.cs
- SamlAuthorityBinding.cs
- CategoriesDocument.cs
- PhysicalOps.cs
- ZipIOFileItemStream.cs
- ArglessEventHandlerProxy.cs