Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / CodeDOM / CodeTypeDeclaration.cs / 1 / CodeTypeDeclaration.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.CodeDom { using System.Diagnostics; using System; using Microsoft.Win32; using System.Collections; using System.Reflection; using System.Runtime.Serialization; using System.Runtime.InteropServices; ////// [ ClassInterface(ClassInterfaceType.AutoDispatch), ComVisible(true), Serializable, ] public class CodeTypeDeclaration : CodeTypeMember { private TypeAttributes attributes = Reflection.TypeAttributes.Public | Reflection.TypeAttributes.Class; private CodeTypeReferenceCollection baseTypes = new CodeTypeReferenceCollection(); private CodeTypeMemberCollection members = new CodeTypeMemberCollection(); private bool isEnum; private bool isStruct; private int populated = 0x0; private const int BaseTypesCollection = 0x1; private const int MembersCollection = 0x2; // Need to be made optionally serializable [OptionalField] private CodeTypeParameterCollection typeParameters; [OptionalField] private bool isPartial = false; ////// Represents a /// class or nested class. /// ////// public event EventHandler PopulateBaseTypes; ////// An event that will be fired the first time the BaseTypes Collection is accessed. /// ////// public event EventHandler PopulateMembers; ////// An event that will be fired the first time the Members Collection is accessed. /// ////// public CodeTypeDeclaration() { } ////// Initializes a new instance of ///. /// /// public CodeTypeDeclaration(string name) { Name = name; } ////// Initializes a new instance of ///with the specified name. /// /// public TypeAttributes TypeAttributes { get { return attributes; } set { attributes = value; } } ////// Gets or sets the attributes of the class. /// ////// public CodeTypeReferenceCollection BaseTypes { get { if (0 == (populated & BaseTypesCollection)) { populated |= BaseTypesCollection; if (PopulateBaseTypes != null) PopulateBaseTypes(this, EventArgs.Empty); } return baseTypes; } } ////// Gets or sets /// the base types of the class. /// ////// public bool IsClass { get { return(attributes & TypeAttributes.ClassSemanticsMask) == TypeAttributes.Class && !isEnum && !isStruct; } set { if (value) { attributes &= ~TypeAttributes.ClassSemanticsMask; attributes |= TypeAttributes.Class; isStruct = false; isEnum = false; } } } ////// Gets or sets a value /// indicating whether the class is a class. /// ////// public bool IsStruct { get { return isStruct; } set { if (value) { attributes &= ~TypeAttributes.ClassSemanticsMask; isStruct = true; isEnum = false; } else { isStruct = false; } } } ////// Gets or sets a value /// indicating whether the class is a struct. /// ////// public bool IsEnum { get { return isEnum; } set { if (value) { attributes &= ~TypeAttributes.ClassSemanticsMask; isStruct = false; isEnum = true; } else { isEnum = false; } } } ////// Gets or sets a value /// indicating whether the class is an enumeration. /// ////// public bool IsInterface { get { return(attributes & TypeAttributes.ClassSemanticsMask) == TypeAttributes.Interface; } set { if (value) { attributes &= ~TypeAttributes.ClassSemanticsMask; attributes |= TypeAttributes.Interface; isStruct = false; isEnum = false; } else { attributes &= ~TypeAttributes.Interface; } } } public bool IsPartial { get { return isPartial; } set { isPartial = value; } } ////// Gets or sets a value /// indicating whether the class is an interface. /// ////// public CodeTypeMemberCollection Members { get { if (0 == (populated & MembersCollection)) { populated |= MembersCollection; if (PopulateMembers != null) PopulateMembers(this, EventArgs.Empty); } return members; } } [System.Runtime.InteropServices.ComVisible(false)] public CodeTypeParameterCollection TypeParameters { get { if( typeParameters == null) { typeParameters = new CodeTypeParameterCollection(); } return typeParameters; } } } }/// Gets or sets the class member collection members. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SingleAnimation.cs
- XmlDataSource.cs
- X509CertificateValidationMode.cs
- DataGridViewRow.cs
- RoutedEventConverter.cs
- ISCIIEncoding.cs
- XmlDocumentViewSchema.cs
- HMACRIPEMD160.cs
- XsdBuildProvider.cs
- FormViewUpdatedEventArgs.cs
- StickyNoteContentControl.cs
- TypeSemantics.cs
- ImageMapEventArgs.cs
- DialogBaseForm.cs
- ImportCatalogPart.cs
- ControlBuilderAttribute.cs
- ExceptionHelpers.cs
- HMAC.cs
- NameGenerator.cs
- ListViewInsertEventArgs.cs
- TableLayoutStyle.cs
- UInt16Converter.cs
- InputLanguageManager.cs
- CalendarDay.cs
- StorageEndPropertyMapping.cs
- AsymmetricSignatureFormatter.cs
- oledbmetadatacollectionnames.cs
- TransformationRules.cs
- Typography.cs
- PropertyPath.cs
- DocumentPageTextView.cs
- Literal.cs
- TextSelectionHighlightLayer.cs
- SendActivityDesignerTheme.cs
- TextTrailingCharacterEllipsis.cs
- XPathDocumentNavigator.cs
- CriticalHandle.cs
- VariableQuery.cs
- HttpDebugHandler.cs
- StatusBarItem.cs
- Table.cs
- TextBoxBase.cs
- UnicastIPAddressInformationCollection.cs
- CodePageUtils.cs
- ChildDocumentBlock.cs
- AssociationProvider.cs
- AnnotationObservableCollection.cs
- StyleXamlParser.cs
- DataGridTable.cs
- PathNode.cs
- GeometryValueSerializer.cs
- MinimizableAttributeTypeConverter.cs
- SmtpReplyReaderFactory.cs
- XmlChoiceIdentifierAttribute.cs
- SudsParser.cs
- TypeNameConverter.cs
- StringKeyFrameCollection.cs
- HashMembershipCondition.cs
- GroupAggregateExpr.cs
- Rectangle.cs
- TransformedBitmap.cs
- MatrixKeyFrameCollection.cs
- WebPart.cs
- ArithmeticException.cs
- HandleCollector.cs
- SqlConnectionPoolGroupProviderInfo.cs
- LocatorPart.cs
- HWStack.cs
- XmlHierarchyData.cs
- HwndKeyboardInputProvider.cs
- TemplateApplicationHelper.cs
- ExpressionLexer.cs
- XmlException.cs
- Span.cs
- ConsoleCancelEventArgs.cs
- EastAsianLunisolarCalendar.cs
- BaseDataBoundControl.cs
- StylusButtonEventArgs.cs
- ProviderManager.cs
- StyleModeStack.cs
- DisplayNameAttribute.cs
- IndexerHelper.cs
- SafeNativeMemoryHandle.cs
- SchemaMapping.cs
- MenuItemStyleCollection.cs
- ColumnTypeConverter.cs
- ActivationServices.cs
- BoundField.cs
- ReaderOutput.cs
- OdbcReferenceCollection.cs
- SmiMetaDataProperty.cs
- RSAOAEPKeyExchangeFormatter.cs
- ApplicationContext.cs
- DependencyPropertyConverter.cs
- MimeTypeAttribute.cs
- TraceSource.cs
- FormViewUpdateEventArgs.cs
- SplayTreeNode.cs
- ProvidePropertyAttribute.cs
- ResourceSetExpression.cs