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
- CustomAttributeFormatException.cs
- SoundPlayer.cs
- PackagePartCollection.cs
- ImportStoreException.cs
- ConnectionInterfaceCollection.cs
- MachineSettingsSection.cs
- ZeroOpNode.cs
- GridViewAutomationPeer.cs
- parserscommon.cs
- TimelineCollection.cs
- mongolianshape.cs
- UnionCqlBlock.cs
- HyperLinkField.cs
- XmlSchemaSimpleTypeList.cs
- StaticResourceExtension.cs
- AssociatedControlConverter.cs
- BamlRecordWriter.cs
- ThreadPool.cs
- BindingSource.cs
- PageContentAsyncResult.cs
- LazyTextWriterCreator.cs
- WebRequest.cs
- WebServiceErrorEvent.cs
- RuleInfoComparer.cs
- NativeMethods.cs
- DrawItemEvent.cs
- EndpointReference.cs
- OpCodes.cs
- DocumentStatusResources.cs
- WebPart.cs
- Triangle.cs
- ActivationService.cs
- TextComposition.cs
- BinaryObjectWriter.cs
- CssStyleCollection.cs
- MatrixAnimationUsingKeyFrames.cs
- NamespaceQuery.cs
- WSSecureConversation.cs
- ItemTypeToolStripMenuItem.cs
- GACIdentityPermission.cs
- GridLengthConverter.cs
- InkPresenter.cs
- BinaryFormatterWriter.cs
- ChannelTracker.cs
- DocumentXPathNavigator.cs
- WindowsSlider.cs
- TryExpression.cs
- TypeBuilderInstantiation.cs
- PackageRelationship.cs
- WorkflowOperationErrorHandler.cs
- Int32.cs
- EntityDataSourceMemberPath.cs
- DictationGrammar.cs
- TypeUnloadedException.cs
- TimeIntervalCollection.cs
- ArraySubsetEnumerator.cs
- BindingRestrictions.cs
- TcpTransportManager.cs
- InputGestureCollection.cs
- CodePageUtils.cs
- FlowPosition.cs
- IItemProperties.cs
- CompiledAction.cs
- GeneralTransform3DTo2D.cs
- ResourceReferenceKeyNotFoundException.cs
- HotSpot.cs
- PlacementWorkspace.cs
- KeyedCollection.cs
- EqualityComparer.cs
- CodeEventReferenceExpression.cs
- VScrollProperties.cs
- ContentFileHelper.cs
- XslAstAnalyzer.cs
- TypeForwardedToAttribute.cs
- WebDisplayNameAttribute.cs
- DiscoveryClientElement.cs
- DescendantBaseQuery.cs
- UnionCqlBlock.cs
- ResourceDictionaryCollection.cs
- MatrixIndependentAnimationStorage.cs
- ConditionedDesigner.cs
- OrderByLifter.cs
- InstanceLockedException.cs
- MimeReturn.cs
- StylusEditingBehavior.cs
- DataControlFieldHeaderCell.cs
- HwndStylusInputProvider.cs
- SqlIdentifier.cs
- RefreshPropertiesAttribute.cs
- GridEntryCollection.cs
- EdmMember.cs
- _OSSOCK.cs
- ToolStripGripRenderEventArgs.cs
- RectValueSerializer.cs
- MenuItemStyle.cs
- GridItemCollection.cs
- RankException.cs
- EncoderFallback.cs
- AssociationType.cs
- ExplicitDiscriminatorMap.cs