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
- ButtonPopupAdapter.cs
- StrongNameMembershipCondition.cs
- OutputCacheSection.cs
- ValueExpressions.cs
- DataGridPagerStyle.cs
- BufferedWebEventProvider.cs
- PeerName.cs
- Int16AnimationUsingKeyFrames.cs
- HandlerFactoryCache.cs
- PseudoWebRequest.cs
- ButtonAutomationPeer.cs
- BaseComponentEditor.cs
- WebPartConnectionsEventArgs.cs
- externdll.cs
- InputLangChangeRequestEvent.cs
- HostExecutionContextManager.cs
- XmlSchemaAll.cs
- Line.cs
- SequenceNumber.cs
- SetStateDesigner.cs
- SecureUICommand.cs
- WorkflowIdleElement.cs
- JsonFormatReaderGenerator.cs
- RefreshEventArgs.cs
- UntrustedRecipientException.cs
- sqlcontext.cs
- SessionParameter.cs
- OrderPreservingPipeliningSpoolingTask.cs
- safesecurityhelperavalon.cs
- FixedElement.cs
- _HTTPDateParse.cs
- ImageIndexEditor.cs
- WebPartEditorApplyVerb.cs
- DatePicker.cs
- DataBindingHandlerAttribute.cs
- QEncodedStream.cs
- PropertyRef.cs
- InternalsVisibleToAttribute.cs
- MeshGeometry3D.cs
- CommonObjectSecurity.cs
- LayoutTable.cs
- Parser.cs
- PagedDataSource.cs
- LateBoundBitmapDecoder.cs
- TransactionContextManager.cs
- TransformedBitmap.cs
- Expressions.cs
- RouteParser.cs
- FigureParagraph.cs
- InstallerTypeAttribute.cs
- ToolboxBitmapAttribute.cs
- DeferredBinaryDeserializerExtension.cs
- Automation.cs
- DataGridViewSortCompareEventArgs.cs
- SrgsElementFactory.cs
- KoreanCalendar.cs
- IndentedWriter.cs
- SqlProcedureAttribute.cs
- TagPrefixAttribute.cs
- unsafenativemethodsother.cs
- OverlappedAsyncResult.cs
- IOThreadTimer.cs
- ProjectionPathSegment.cs
- sqlmetadatafactory.cs
- DiscreteKeyFrames.cs
- __Filters.cs
- HighContrastHelper.cs
- ToolStripRenderEventArgs.cs
- RetrieveVirtualItemEventArgs.cs
- ComplexType.cs
- ConnectionPointCookie.cs
- XMLSchema.cs
- AuthenticationModeHelper.cs
- WaitHandle.cs
- ScriptDescriptor.cs
- WriteLineDesigner.xaml.cs
- ConnectorEditor.cs
- WindowsSpinner.cs
- GridView.cs
- LinearKeyFrames.cs
- SafeBitVector32.cs
- MediaScriptCommandRoutedEventArgs.cs
- IPGlobalProperties.cs
- ParsedAttributeCollection.cs
- XmlElement.cs
- TableAutomationPeer.cs
- HttpApplicationFactory.cs
- TreeNodeMouseHoverEvent.cs
- Assert.cs
- AddingNewEventArgs.cs
- TableParagraph.cs
- CultureSpecificStringDictionary.cs
- ValueProviderWrapper.cs
- IDQuery.cs
- StreamMarshaler.cs
- WsiProfilesElementCollection.cs
- RepeaterItemEventArgs.cs
- ActivityTypeResolver.xaml.cs
- ListBoxItemAutomationPeer.cs
- RuleProcessor.cs