Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / Reflection / Emit / ModuleBuilderData.cs / 5 / ModuleBuilderData.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
namespace System.Reflection.Emit {
using System;
using System.Reflection;
using System.IO;
using System.Globalization;
// 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
{
internal ModuleBuilderData(ModuleBuilder module, String strModuleName, String strFileName)
{
Init(module, strModuleName, strFileName);
}
internal virtual void Init(ModuleBuilder module, String strModuleName, String strFileName)
{
m_fGlobalBeenCreated = false;
m_fHasGlobal = false;
m_globalTypeBuilder = new TypeBuilder(module);
m_module = module;
m_strModuleName = strModuleName;
m_tkFile = 0;
m_isSaved = false;
m_embeddedRes = null;
m_strResourceFileName = null;
m_resourceBytes = null;
if (strFileName == null)
{
// fake a transient module file name
m_strFileName = strModuleName;
m_isTransient = true;
}
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(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_NoModuleFileExtension"), strFileName));
}
m_strFileName = strFileName;
m_isTransient = false;
}
m_module.InternalSetModuleProps(m_strModuleName);
}
internal virtual bool IsTransient()
{
return m_isTransient;
}
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;
internal int m_tkFile; // this is the file token for this module builder
internal bool m_isSaved;
[NonSerialized] internal ResWriterData m_embeddedRes;
internal const String MULTI_BYTE_VALUE_CLASS = "$ArrayType$";
internal bool m_isTransient;
internal String m_strResourceFileName;
internal byte[] m_resourceBytes;
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
namespace System.Reflection.Emit {
using System;
using System.Reflection;
using System.IO;
using System.Globalization;
// 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
{
internal ModuleBuilderData(ModuleBuilder module, String strModuleName, String strFileName)
{
Init(module, strModuleName, strFileName);
}
internal virtual void Init(ModuleBuilder module, String strModuleName, String strFileName)
{
m_fGlobalBeenCreated = false;
m_fHasGlobal = false;
m_globalTypeBuilder = new TypeBuilder(module);
m_module = module;
m_strModuleName = strModuleName;
m_tkFile = 0;
m_isSaved = false;
m_embeddedRes = null;
m_strResourceFileName = null;
m_resourceBytes = null;
if (strFileName == null)
{
// fake a transient module file name
m_strFileName = strModuleName;
m_isTransient = true;
}
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(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_NoModuleFileExtension"), strFileName));
}
m_strFileName = strFileName;
m_isTransient = false;
}
m_module.InternalSetModuleProps(m_strModuleName);
}
internal virtual bool IsTransient()
{
return m_isTransient;
}
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;
internal int m_tkFile; // this is the file token for this module builder
internal bool m_isSaved;
[NonSerialized] internal ResWriterData m_embeddedRes;
internal const String MULTI_BYTE_VALUE_CLASS = "$ArrayType$";
internal bool m_isTransient;
internal String m_strResourceFileName;
internal byte[] m_resourceBytes;
}
}
// 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
- XpsResource.cs
- AppDomainManager.cs
- ConfigurationSettings.cs
- ColorConverter.cs
- UTF8Encoding.cs
- DataGridViewLinkColumn.cs
- PageCache.cs
- ElementUtil.cs
- securitycriticaldataClass.cs
- PersonalizationEntry.cs
- StrokeNodeOperations.cs
- Int16Converter.cs
- PointLight.cs
- GreenMethods.cs
- WebPartConnectionCollection.cs
- WebPartTracker.cs
- ValidatingPropertiesEventArgs.cs
- DynamicPropertyHolder.cs
- ComplusEndpointConfigContainer.cs
- ParserStreamGeometryContext.cs
- OracleParameterCollection.cs
- InkCanvasAutomationPeer.cs
- OutKeywords.cs
- CompressedStack.cs
- CurrencyWrapper.cs
- URLString.cs
- EntityClassGenerator.cs
- TemplateNameScope.cs
- CompositeCollection.cs
- SessionEndedEventArgs.cs
- TcpClientChannel.cs
- StatementContext.cs
- TiffBitmapDecoder.cs
- MultiView.cs
- DockPanel.cs
- StringValidatorAttribute.cs
- HwndHost.cs
- InputManager.cs
- Transform.cs
- DataGridCellInfo.cs
- TileBrush.cs
- DataGridTextBox.cs
- ProfilePropertySettings.cs
- WindowsSlider.cs
- ZoneLinkButton.cs
- OverflowException.cs
- ProcessHostServerConfig.cs
- AdPostCacheSubstitution.cs
- Substitution.cs
- ImageBrush.cs
- KeyboardEventArgs.cs
- Error.cs
- webproxy.cs
- InstanceCreationEditor.cs
- WebServiceData.cs
- HostedTransportConfigurationBase.cs
- ScrollContentPresenter.cs
- PerSessionInstanceContextProvider.cs
- ConstructorBuilder.cs
- SpeechSeg.cs
- AssemblyBuilder.cs
- ThemeDirectoryCompiler.cs
- AutomationPropertyInfo.cs
- GatewayDefinition.cs
- CacheRequest.cs
- ReadOnlyCollection.cs
- ButtonBase.cs
- QueryNode.cs
- StreamAsIStream.cs
- SortQueryOperator.cs
- DateTimeConverter.cs
- IdentifierElement.cs
- DataServiceQueryContinuation.cs
- XmlSerializer.cs
- CssStyleCollection.cs
- EpmTargetPathSegment.cs
- PasswordTextContainer.cs
- Array.cs
- CalendarDataBindingHandler.cs
- BrushProxy.cs
- TreeNodeMouseHoverEvent.cs
- DataTableNewRowEvent.cs
- MsmqActivation.cs
- TypefaceMetricsCache.cs
- ServiceDescriptionImporter.cs
- StylusOverProperty.cs
- CustomCategoryAttribute.cs
- FixedLineResult.cs
- SqlUDTStorage.cs
- IconBitmapDecoder.cs
- SqlClientMetaDataCollectionNames.cs
- InputMethod.cs
- ThreadSafeList.cs
- LineSegment.cs
- DesignerVerbCollection.cs
- FixedHighlight.cs
- BitmapEffectInput.cs
- TogglePattern.cs
- versioninfo.cs
- TimeManager.cs