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
- URLMembershipCondition.cs
- QueryStringHandler.cs
- CodeGeneratorAttribute.cs
- StorageConditionPropertyMapping.cs
- HtmlAnchor.cs
- RouteValueExpressionBuilder.cs
- TextAdaptor.cs
- ResXBuildProvider.cs
- ExtentCqlBlock.cs
- AddInSegmentDirectoryNotFoundException.cs
- EntityConnectionStringBuilderItem.cs
- BuildResultCache.cs
- PageBreakRecord.cs
- RoutedUICommand.cs
- Type.cs
- MultiPageTextView.cs
- Exception.cs
- GridViewEditEventArgs.cs
- AutomationElementCollection.cs
- XmlIlVisitor.cs
- MenuStrip.cs
- MemberDomainMap.cs
- ReadingWritingEntityEventArgs.cs
- HtmlWindowCollection.cs
- BitmapEffectInput.cs
- StatusBarAutomationPeer.cs
- ItemCheckedEvent.cs
- HttpCacheVary.cs
- BrowserCapabilitiesFactoryBase.cs
- FlowchartDesigner.xaml.cs
- ProtocolsConfigurationEntry.cs
- WindowsServiceElement.cs
- TreeNodeBindingCollection.cs
- DataGridViewEditingControlShowingEventArgs.cs
- SecurityState.cs
- BitArray.cs
- FileLoadException.cs
- TreeIterator.cs
- WindowShowOrOpenTracker.cs
- ValidationPropertyAttribute.cs
- ResourceExpressionEditorSheet.cs
- WebPartTransformerCollection.cs
- SessionPageStateSection.cs
- SelectionPattern.cs
- CancellableEnumerable.cs
- TreeViewItem.cs
- translator.cs
- UpdatePanel.cs
- nulltextcontainer.cs
- TextEditorSpelling.cs
- TextCollapsingProperties.cs
- PerformanceCounterPermissionEntryCollection.cs
- KeyboardEventArgs.cs
- SQLDecimalStorage.cs
- TextElementEditingBehaviorAttribute.cs
- DeferredReference.cs
- SrgsGrammarCompiler.cs
- CqlBlock.cs
- TabControl.cs
- _NetworkingPerfCounters.cs
- SecurityElement.cs
- PreviewPageInfo.cs
- ScrollChrome.cs
- ValidationSummary.cs
- ToolStripControlHost.cs
- PageStatePersister.cs
- XmlUtil.cs
- PageThemeParser.cs
- Validator.cs
- NetPipeSection.cs
- TemplateColumn.cs
- StylusCollection.cs
- InvalidComObjectException.cs
- FontFaceLayoutInfo.cs
- PerfCounterSection.cs
- DesignerCatalogPartChrome.cs
- Underline.cs
- TraceEventCache.cs
- SystemNetHelpers.cs
- ResourceExpressionBuilder.cs
- BasePattern.cs
- AnimatedTypeHelpers.cs
- ListViewItem.cs
- SoapFault.cs
- CommandValueSerializer.cs
- ComUdtElement.cs
- KnownBoxes.cs
- ToolStripDropDownMenu.cs
- COM2ExtendedBrowsingHandler.cs
- KeyConstraint.cs
- DocumentEventArgs.cs
- CodeArrayIndexerExpression.cs
- HttpCapabilitiesEvaluator.cs
- RegexNode.cs
- RetrieveVirtualItemEventArgs.cs
- ProfilePropertyMetadata.cs
- ConvertersCollection.cs
- MeshGeometry3D.cs
- CodeAttributeDeclaration.cs
- FlowchartStart.xaml.cs