Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Reflection / Emit / ModuleBuilderData.cs / 1305376 / ModuleBuilderData.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //[....] // namespace System.Reflection.Emit { using System; using System.Diagnostics.Contracts; using System.Globalization; using System.IO; using System.Reflection; using System.Runtime.Versioning; // This is a package private class. This class hold all of the managed // data member for ModuleBuilder. Note that what ever data members added to // this class cannot be accessed from the EE. [Serializable] internal class ModuleBuilderData { [System.Security.SecurityCritical] // auto-generated [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] internal ModuleBuilderData(ModuleBuilder module, String strModuleName, String strFileName, int tkFile) { m_globalTypeBuilder = new TypeBuilder(module); m_module = module; m_tkFile = tkFile; InitNames(strModuleName, strFileName); } // Initialize module and file names. [System.Security.SecurityCritical] // auto-generated [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] private void InitNames(String strModuleName, String strFileName) { m_strModuleName = strModuleName; if (strFileName == null) { // fake a transient module file name m_strFileName = strModuleName; } else { String strExtension = Path.GetExtension(strFileName); if (strExtension == null || strExtension == String.Empty) { // This is required by our loader. It cannot load module file that does not have file extension. throw new ArgumentException(Environment.GetResourceString("Argument_NoModuleFileExtension", strFileName)); } m_strFileName = strFileName; } } // This is a method for changing module and file name of the manifest module (created by default for // each assembly). [System.Security.SecurityCritical] // auto-generated [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] internal virtual void ModifyModuleName(String strModuleName) { Contract.Assert(m_strModuleName == AssemblyBuilder.MANIFEST_MODULE_NAME, "Changing names for non-manifest module"); InitNames(strModuleName, null /*strFileName*/); } internal int FileToken { get { // Before save, the scope of m_tkFile is the in-memory assembly manifest // During save, the scope of m_tkFile is the on-disk assembly manifest // For transient modules m_tkFile never change. // Theoretically no one should emit anything after a dynamic assembly has // been saved. So m_tkFile shouldn't used when m_isSaved is true. // But that was never completely enforced: you can still emit everything after // the assembly has been saved (except for public types in persistent modules). return m_tkFile; } set { m_tkFile = value; } } internal String m_strModuleName; // scope name (can be different from file name) internal String m_strFileName; internal bool m_fGlobalBeenCreated; internal bool m_fHasGlobal; [NonSerialized] internal TypeBuilder m_globalTypeBuilder; [NonSerialized] internal ModuleBuilder m_module; private int m_tkFile; internal bool m_isSaved; [NonSerialized] internal ResWriterData m_embeddedRes; internal const String MULTI_BYTE_VALUE_CLASS = "$ArrayType$"; internal String m_strResourceFileName; internal byte[] m_resourceBytes; } // class ModuleBuilderData } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DBCommand.cs
- TabControlAutomationPeer.cs
- GiveFeedbackEvent.cs
- SiteMapHierarchicalDataSourceView.cs
- WebConfigurationFileMap.cs
- SiteOfOriginContainer.cs
- EdmValidator.cs
- QuaternionConverter.cs
- WebSysDefaultValueAttribute.cs
- SectionVisual.cs
- SQLMoney.cs
- QueryTaskGroupState.cs
- InputLangChangeEvent.cs
- Comparer.cs
- OleDbFactory.cs
- SystemFonts.cs
- InheritedPropertyChangedEventArgs.cs
- safex509handles.cs
- PixelShader.cs
- HatchBrush.cs
- CodeVariableDeclarationStatement.cs
- DeclaredTypeValidatorAttribute.cs
- FileLogRecordHeader.cs
- Base64Encoder.cs
- AuthStoreRoleProvider.cs
- DateTimeSerializationSection.cs
- DurableTimerExtension.cs
- BaseTemplateCodeDomTreeGenerator.cs
- MachineKeyConverter.cs
- Msec.cs
- RequestCachePolicyConverter.cs
- BmpBitmapEncoder.cs
- WebException.cs
- ExpressionsCollectionConverter.cs
- TraceLog.cs
- Helper.cs
- Rotation3DKeyFrameCollection.cs
- PasswordPropertyTextAttribute.cs
- listitem.cs
- FormsAuthenticationUserCollection.cs
- Paragraph.cs
- BrowserInteropHelper.cs
- QilLoop.cs
- EventHandlersStore.cs
- ExceptionHelpers.cs
- XmlUrlResolver.cs
- MessageDescriptionCollection.cs
- TemplateControlCodeDomTreeGenerator.cs
- MarginsConverter.cs
- SqlDependencyUtils.cs
- ListViewTableCell.cs
- LoadRetryStrategyFactory.cs
- WpfXamlMember.cs
- XPathMessageFilterElementCollection.cs
- BlobPersonalizationState.cs
- GuidelineCollection.cs
- TextSimpleMarkerProperties.cs
- SystemIcmpV4Statistics.cs
- RayHitTestParameters.cs
- RelationshipDetailsCollection.cs
- XmlSerializerVersionAttribute.cs
- BulletChrome.cs
- MergePropertyDescriptor.cs
- HierarchicalDataBoundControlAdapter.cs
- UInt64Converter.cs
- QilFunction.cs
- DesignerSelectionListAdapter.cs
- ToolStripDropTargetManager.cs
- QueryTaskGroupState.cs
- WorkflowElementDialog.cs
- DesignerHierarchicalDataSourceView.cs
- SqlConnectionString.cs
- StringStorage.cs
- DirtyTextRange.cs
- StorageFunctionMapping.cs
- ActivityExecutor.cs
- ObjectIDGenerator.cs
- WebPartConnectionsDisconnectVerb.cs
- SingleAnimationBase.cs
- NumericUpDownAccelerationCollection.cs
- RbTree.cs
- EventWaitHandle.cs
- SelectionRange.cs
- DataServiceHostWrapper.cs
- HtmlInputFile.cs
- DetailsViewPagerRow.cs
- WebPartDeleteVerb.cs
- Win32Exception.cs
- sortedlist.cs
- XmlDocumentType.cs
- TableDetailsRow.cs
- BaseInfoTable.cs
- XhtmlBasicTextViewAdapter.cs
- MetadataUtilsSmi.cs
- PageMediaType.cs
- XmlSchemaExporter.cs
- Pens.cs
- StorageRoot.cs
- WhitespaceSignificantCollectionAttribute.cs
- hebrewshape.cs