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
- SqlUDTStorage.cs
- StylusButton.cs
- Processor.cs
- ContainerParagraph.cs
- ThrowHelper.cs
- StringBuilder.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- HttpValueCollection.cs
- SiteIdentityPermission.cs
- FormatConvertedBitmap.cs
- MetricEntry.cs
- PathParser.cs
- WebPartsSection.cs
- HttpRequest.cs
- QilFunction.cs
- ScrollProperties.cs
- DecoderNLS.cs
- LoginView.cs
- ScopeElement.cs
- Keywords.cs
- UserPreferenceChangingEventArgs.cs
- Overlapped.cs
- XmlSchemaElement.cs
- RetrieveVirtualItemEventArgs.cs
- MissingFieldException.cs
- ZipIOModeEnforcingStream.cs
- InvokeGenerator.cs
- OrderPreservingSpoolingTask.cs
- UnsafeNativeMethods.cs
- ConfigurationErrorsException.cs
- RelationshipSet.cs
- GridEntry.cs
- versioninfo.cs
- XmlQualifiedNameTest.cs
- ClientRoleProvider.cs
- TemplateKeyConverter.cs
- EUCJPEncoding.cs
- ToolStripOverflowButton.cs
- CodeGeneratorOptions.cs
- FilterableAttribute.cs
- ChtmlCommandAdapter.cs
- Vars.cs
- BadImageFormatException.cs
- RootBrowserWindowAutomationPeer.cs
- ObjectViewEntityCollectionData.cs
- SecurityTokenResolver.cs
- RowToParametersTransformer.cs
- WinFormsSpinner.cs
- MessageEncoder.cs
- PopupRootAutomationPeer.cs
- CreatingCookieEventArgs.cs
- RegistryKey.cs
- TreeNodeClickEventArgs.cs
- DataServiceResponse.cs
- ToolboxCategory.cs
- ActivityExecutionFilter.cs
- XmlSchemaSimpleType.cs
- DataTableExtensions.cs
- SystemFonts.cs
- BodyGlyph.cs
- WebPartCollection.cs
- MultiBindingExpression.cs
- RequiredAttributeAttribute.cs
- TraceContextRecord.cs
- ApplicationCommands.cs
- RootBuilder.cs
- BaseParagraph.cs
- PrivilegedConfigurationManager.cs
- XmlSchemaAttribute.cs
- ExecutionEngineException.cs
- RunWorkerCompletedEventArgs.cs
- VariableBinder.cs
- ConstraintManager.cs
- AlignmentXValidation.cs
- WebServiceParameterData.cs
- AtlasWeb.Designer.cs
- ColumnMap.cs
- CodeMemberMethod.cs
- EntityRecordInfo.cs
- EmptyReadOnlyDictionaryInternal.cs
- ProfileParameter.cs
- FileNotFoundException.cs
- MetafileHeader.cs
- BooleanStorage.cs
- FrameAutomationPeer.cs
- IItemProperties.cs
- DependencyObject.cs
- EncryptedPackage.cs
- PropertyEmitter.cs
- CompiledQuery.cs
- CodeCompiler.cs
- Byte.cs
- DescendantBaseQuery.cs
- XmlNodeChangedEventManager.cs
- PickBranch.cs
- ContainerParaClient.cs
- ExpressionSelection.cs
- QilValidationVisitor.cs
- DbgUtil.cs
- TypeProvider.cs