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
- RequiredFieldValidator.cs
- RectAnimationClockResource.cs
- CodeAttributeDeclaration.cs
- XmlWrappingReader.cs
- AmbiguousMatchException.cs
- Membership.cs
- DbgCompiler.cs
- ClientRuntime.cs
- OleDbError.cs
- CalendarDateChangedEventArgs.cs
- InstalledFontCollection.cs
- CodeMemberEvent.cs
- GregorianCalendarHelper.cs
- LinqDataSourceContextData.cs
- FileDialog_Vista.cs
- SimpleBitVector32.cs
- DrawingAttributes.cs
- ClassData.cs
- ZoomPercentageConverter.cs
- PathData.cs
- ListViewInsertionMark.cs
- XmlSchemaAnnotation.cs
- PkcsUtils.cs
- HtmlCommandAdapter.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- ListenerElementsCollection.cs
- SecurityPolicySection.cs
- InfoCardKeyedHashAlgorithm.cs
- TextBoxAutomationPeer.cs
- DCSafeHandle.cs
- XmlEntity.cs
- SplashScreen.cs
- ModifyActivitiesPropertyDescriptor.cs
- TextSelection.cs
- DrawListViewItemEventArgs.cs
- TemplateLookupAction.cs
- DataSourceCacheDurationConverter.cs
- ThreadPool.cs
- ResourcesChangeInfo.cs
- infer.cs
- localization.cs
- ProjectionCamera.cs
- IncrementalCompileAnalyzer.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- HtmlGenericControl.cs
- ResolveDuplexCD1AsyncResult.cs
- Scalars.cs
- SerialPort.cs
- _RequestCacheProtocol.cs
- Tile.cs
- Events.cs
- Operand.cs
- OracleBoolean.cs
- TranslateTransform.cs
- XmlStreamStore.cs
- DescendentsWalker.cs
- DictionaryGlobals.cs
- NetworkStream.cs
- MemberInfoSerializationHolder.cs
- CapabilitiesPattern.cs
- DataGridViewElement.cs
- XmlAnyElementAttribute.cs
- LineGeometry.cs
- CookieParameter.cs
- ValueExpressions.cs
- DataSourceXmlAttributeAttribute.cs
- UriScheme.cs
- XmlLoader.cs
- ClientSettingsStore.cs
- MaskedTextProvider.cs
- PermissionSetTriple.cs
- DbModificationClause.cs
- ServiceAuthorizationBehavior.cs
- TypedTableBase.cs
- TypeBuilder.cs
- MetadataFile.cs
- DocumentViewerConstants.cs
- ChangeToolStripParentVerb.cs
- DataColumnMapping.cs
- AddInServer.cs
- InputLanguageProfileNotifySink.cs
- TaskScheduler.cs
- EndpointDiscoveryMetadata11.cs
- GridViewDeletedEventArgs.cs
- OptimisticConcurrencyException.cs
- DbUpdateCommandTree.cs
- NullableConverter.cs
- ProxyWebPartManager.cs
- Parser.cs
- InteropExecutor.cs
- StoreItemCollection.cs
- FastEncoder.cs
- ListDependantCardsRequest.cs
- ReceiveReply.cs
- EntityTypeEmitter.cs
- DetailsViewUpdateEventArgs.cs
- TableLayoutSettingsTypeConverter.cs
- SchemaImporterExtension.cs
- UnsafeNativeMethods.cs
- HierarchicalDataTemplate.cs