Code:
/ DotNET / DotNET / 8.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
- UserControl.cs
- TimeSpanHelper.cs
- TemplateEditingVerb.cs
- ByValueEqualityComparer.cs
- PerformanceCounterPermissionEntry.cs
- XmlSchemaAnnotated.cs
- JsonEncodingStreamWrapper.cs
- VisualProxy.cs
- EditorPartCollection.cs
- TagNameToTypeMapper.cs
- MetadataPropertyAttribute.cs
- ProfileSection.cs
- listitem.cs
- OleStrCAMarshaler.cs
- VisualTarget.cs
- GridView.cs
- SynchronousChannelMergeEnumerator.cs
- DataColumnPropertyDescriptor.cs
- NotifyParentPropertyAttribute.cs
- SingleAnimation.cs
- SortAction.cs
- ExpressionDumper.cs
- ViewBase.cs
- TagPrefixInfo.cs
- WindowsStatusBar.cs
- XmlReflectionImporter.cs
- AnyAllSearchOperator.cs
- Drawing.cs
- PropertyGridCommands.cs
- RegionInfo.cs
- StringInfo.cs
- TraceEventCache.cs
- DocumentOrderQuery.cs
- XamlSerializerUtil.cs
- FrameSecurityDescriptor.cs
- Token.cs
- FindResponse.cs
- EllipseGeometry.cs
- TransactionsSectionGroup.cs
- ClientOperation.cs
- DbgUtil.cs
- Color.cs
- VectorValueSerializer.cs
- ZipIOCentralDirectoryFileHeader.cs
- HyperLink.cs
- Range.cs
- BatchServiceHost.cs
- MailWriter.cs
- CustomPopupPlacement.cs
- TypeInitializationException.cs
- PartitionedDataSource.cs
- RemotingConfigParser.cs
- dbenumerator.cs
- AssemblyCollection.cs
- DataGridViewCellLinkedList.cs
- AssemblyBuilder.cs
- LiteralTextContainerControlBuilder.cs
- validation.cs
- PeerNameRecord.cs
- BackStopAuthenticationModule.cs
- GradientStop.cs
- FormattedTextSymbols.cs
- ReferentialConstraint.cs
- ResolvedKeyFrameEntry.cs
- PrinterResolution.cs
- CodeMethodInvokeExpression.cs
- ServiceModelConfigurationElementCollection.cs
- TextTreeExtractElementUndoUnit.cs
- TypeDescriptorFilterService.cs
- XmlEntity.cs
- TreeViewImageIndexConverter.cs
- DrawingDrawingContext.cs
- UnsafeNativeMethods.cs
- MultiTrigger.cs
- Size.cs
- CompilationPass2TaskInternal.cs
- XmlSchemaFacet.cs
- PerfCounterSection.cs
- StateItem.cs
- DataGridViewCellCollection.cs
- AssociationType.cs
- DataGridViewColumnHeaderCell.cs
- PlainXmlDeserializer.cs
- ComponentConverter.cs
- RangeBase.cs
- ExpressionDumper.cs
- AnchoredBlock.cs
- Rect3D.cs
- WeakReference.cs
- Shared.cs
- WebPartUtil.cs
- ContentType.cs
- ThousandthOfEmRealDoubles.cs
- HwndHostAutomationPeer.cs
- Rotation3D.cs
- StreamingContext.cs
- AddInActivator.cs
- WindowsFormsHelpers.cs
- UInt64.cs
- ClientScriptManager.cs