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
- WebMessageEncoderFactory.cs
- MenuItemStyleCollectionEditor.cs
- Char.cs
- TreeNodeConverter.cs
- SQLBoolean.cs
- ComboBox.cs
- BitmapMetadataBlob.cs
- CryptoHelper.cs
- EndpointDesigner.cs
- PolicyUnit.cs
- ToolStripDropDownItem.cs
- CollectionViewProxy.cs
- EditingMode.cs
- PeerNameRecord.cs
- RegexInterpreter.cs
- Size.cs
- TransformGroup.cs
- ModelItemDictionaryImpl.cs
- HttpModule.cs
- UpDownEvent.cs
- RenderData.cs
- SoapInteropTypes.cs
- X509CertificateChain.cs
- LoginView.cs
- ListViewDataItem.cs
- AppDomain.cs
- VirtualPath.cs
- DiscoveryClientDocuments.cs
- CodeAccessPermission.cs
- DictionaryEditChange.cs
- FreezableDefaultValueFactory.cs
- Base64Stream.cs
- StringArrayConverter.cs
- BufferModesCollection.cs
- CompModHelpers.cs
- OleDbError.cs
- FixedSOMTable.cs
- WebPartAddingEventArgs.cs
- AutomationPropertyInfo.cs
- ProxyElement.cs
- ListBase.cs
- MessageEncodingBindingElement.cs
- DropShadowBitmapEffect.cs
- FontStretch.cs
- FileDialog_Vista.cs
- SHA1Cng.cs
- ToolStripDropDownClosedEventArgs.cs
- XmlElement.cs
- UserControl.cs
- RemotingConfigParser.cs
- FastEncoderStatics.cs
- UidManager.cs
- ZoneMembershipCondition.cs
- ByteAnimationUsingKeyFrames.cs
- TreeViewHitTestInfo.cs
- UMPAttributes.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- HtmlElementErrorEventArgs.cs
- FormatConvertedBitmap.cs
- StrokeCollection.cs
- EventSetter.cs
- SuppressIldasmAttribute.cs
- xdrvalidator.cs
- Model3DGroup.cs
- MemoryFailPoint.cs
- MethodBody.cs
- HostedTransportConfigurationBase.cs
- SerializationEventsCache.cs
- DataGridViewComboBoxCell.cs
- BoundingRectTracker.cs
- XmlDomTextWriter.cs
- WebControl.cs
- MetadataItemCollectionFactory.cs
- EastAsianLunisolarCalendar.cs
- SingleResultAttribute.cs
- SafeRightsManagementSessionHandle.cs
- OdbcConnectionString.cs
- RotateTransform.cs
- HotSpotCollection.cs
- ViewKeyConstraint.cs
- DataViewListener.cs
- InternalTypeHelper.cs
- ResumeStoryboard.cs
- TextElementCollectionHelper.cs
- EarlyBoundInfo.cs
- MappingModelBuildProvider.cs
- AuthorizationSection.cs
- ConfigXmlWhitespace.cs
- AspNetCompatibilityRequirementsAttribute.cs
- ExpressionBindingsDialog.cs
- TextServicesManager.cs
- TargetException.cs
- TextSimpleMarkerProperties.cs
- RowToFieldTransformer.cs
- ADConnectionHelper.cs
- StringAttributeCollection.cs
- EditorOptionAttribute.cs
- LinearGradientBrush.cs
- RequestNavigateEventArgs.cs
- MemoryRecordBuffer.cs