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
- VerificationException.cs
- SqlMethodAttribute.cs
- Hex.cs
- DbProviderManifest.cs
- SharedUtils.cs
- IntSecurity.cs
- EmptyImpersonationContext.cs
- BrushValueSerializer.cs
- MonthCalendar.cs
- SystemIPGlobalProperties.cs
- CodeDesigner.cs
- VBIdentifierTrimConverter.cs
- ListViewInsertEventArgs.cs
- PackageProperties.cs
- CheckBoxList.cs
- Wildcard.cs
- SafeEventLogWriteHandle.cs
- InfoCardSymmetricAlgorithm.cs
- DataGridViewCellValueEventArgs.cs
- CharacterMetrics.cs
- AssemblyHash.cs
- Nullable.cs
- IPAddressCollection.cs
- SQLChars.cs
- TemplateControlBuildProvider.cs
- Expression.cs
- xamlnodes.cs
- TlsnegoTokenProvider.cs
- DateTimeStorage.cs
- SymmetricSecurityBindingElement.cs
- ContentPresenter.cs
- Site.cs
- SingleObjectCollection.cs
- WriteableOnDemandPackagePart.cs
- MsmqIntegrationBindingElement.cs
- HandlerBase.cs
- LabelTarget.cs
- GrammarBuilderRuleRef.cs
- CoreSwitches.cs
- ClassDataContract.cs
- ConsoleKeyInfo.cs
- InsufficientMemoryException.cs
- DefaultHttpHandler.cs
- Vector3DValueSerializer.cs
- DBSqlParserTableCollection.cs
- GridViewRowEventArgs.cs
- UnaryNode.cs
- UserNameSecurityTokenAuthenticator.cs
- ExternalException.cs
- DetailsView.cs
- DayRenderEvent.cs
- InputLanguageSource.cs
- ObjectContextServiceProvider.cs
- AvTraceDetails.cs
- GenericQueueSurrogate.cs
- ComponentEditorPage.cs
- MenuItem.cs
- SerializerWriterEventHandlers.cs
- SslStreamSecurityBindingElement.cs
- DefaultTraceListener.cs
- Propagator.JoinPropagator.cs
- Rule.cs
- AppSettingsReader.cs
- HttpVersion.cs
- ArrayHelper.cs
- BitmapEffectInput.cs
- PropertyToken.cs
- AllowedAudienceUriElementCollection.cs
- XslAst.cs
- IndependentAnimationStorage.cs
- Menu.cs
- Registry.cs
- DataViewSettingCollection.cs
- AuthenticationManager.cs
- FileIOPermission.cs
- SettingsContext.cs
- XsltCompileContext.cs
- DataControlFieldTypeEditor.cs
- InstalledVoice.cs
- SystemIPGlobalProperties.cs
- InsufficientMemoryException.cs
- ReadOnlyDataSourceView.cs
- EntitySqlQueryCacheKey.cs
- TemplateColumn.cs
- FragmentNavigationEventArgs.cs
- PropertySourceInfo.cs
- ReadOnlyPropertyMetadata.cs
- MessageQueuePermissionEntry.cs
- CalendarDay.cs
- ClientSettingsStore.cs
- ReferencedType.cs
- AmbientValueAttribute.cs
- ExpressionEditorAttribute.cs
- MatchingStyle.cs
- XmlWriterSettings.cs
- altserialization.cs
- StringOutput.cs
- Win32Interop.cs
- OperandQuery.cs
- ArrayList.cs