Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / Reflection / Emit / MethodBuilderInstantiation.cs / 1 / MethodBuilderInstantiation.cs
using System;
using System.Reflection;
using System.Reflection.Emit;
using System.Collections;
using System.Globalization;
namespace System.Reflection.Emit
{
internal sealed class MethodBuilderInstantiation : MethodInfo
{
#region Static Members
internal static MethodInfo MakeGenericMethod(MethodInfo method, Type[] inst)
{
if (!method.IsGenericMethodDefinition)
throw new InvalidOperationException();
return new MethodBuilderInstantiation(method, inst);
}
#endregion
#region Private Data Mebers
internal MethodInfo m_method;
private Type[] m_inst;
#endregion
#region Constructor
internal MethodBuilderInstantiation(MethodInfo method, Type[] inst)
{
m_method = method;
m_inst = inst;
}
#endregion
internal override Type[] GetParameterTypes()
{
return m_method.GetParameterTypes();
}
#region MemberBase
public override MemberTypes MemberType { get { return m_method.MemberType; } }
public override String Name { get { return m_method.Name; } }
public override Type DeclaringType { get { return m_method.DeclaringType; } }
public override Type ReflectedType { get { return m_method.ReflectedType; } }
public override Object[] GetCustomAttributes(bool inherit) { return m_method.GetCustomAttributes(inherit); }
public override Object[] GetCustomAttributes(Type attributeType, bool inherit) { return m_method.GetCustomAttributes(attributeType, inherit); }
public override bool IsDefined(Type attributeType, bool inherit) { return m_method.IsDefined(attributeType, inherit); }
internal override int MetadataTokenInternal
{
get
{
throw new NotSupportedException();
}
}
public override Module Module { get { return m_method.Module; } }
public new Type GetType() { return base.GetType(); }
#endregion
#region MethodBase Members
public override ParameterInfo[] GetParameters() { throw new NotSupportedException(); }
public override MethodImplAttributes GetMethodImplementationFlags() { return m_method.GetMethodImplementationFlags(); }
public override RuntimeMethodHandle MethodHandle { get { throw new NotSupportedException(Environment.GetResourceString("NotSupported_DynamicModule")); } }
public override MethodAttributes Attributes { get { return m_method.Attributes; } }
public override Object Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
{
throw new NotSupportedException();
}
public override CallingConventions CallingConvention { get { return m_method.CallingConvention; } }
public override Type[] GetGenericArguments() { return m_inst; }
public override MethodInfo GetGenericMethodDefinition() { return m_method; }
public override bool IsGenericMethodDefinition { get { return false; } }
public override bool ContainsGenericParameters
{
get
{
for (int i = 0; i < m_inst.Length; i++)
{
if (m_inst[i].ContainsGenericParameters)
return true;
}
if (DeclaringType != null && DeclaringType.ContainsGenericParameters)
return true;
return false;
}
}
public override MethodInfo MakeGenericMethod(params Type[] arguments)
{
throw new InvalidOperationException(Environment.GetResourceString("Arg_NotGenericMethodDefinition"));
}
public override bool IsGenericMethod { get { return true; } }
#endregion
#region Public Abstract\Virtual Members
internal override Type GetReturnType() { return m_method.GetReturnType(); }
public override ParameterInfo ReturnParameter { get { throw new NotSupportedException(); } }
public override ICustomAttributeProvider ReturnTypeCustomAttributes { get { throw new NotSupportedException(); } }
public override MethodInfo GetBaseDefinition() { throw new NotSupportedException(); }
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System;
using System.Reflection;
using System.Reflection.Emit;
using System.Collections;
using System.Globalization;
namespace System.Reflection.Emit
{
internal sealed class MethodBuilderInstantiation : MethodInfo
{
#region Static Members
internal static MethodInfo MakeGenericMethod(MethodInfo method, Type[] inst)
{
if (!method.IsGenericMethodDefinition)
throw new InvalidOperationException();
return new MethodBuilderInstantiation(method, inst);
}
#endregion
#region Private Data Mebers
internal MethodInfo m_method;
private Type[] m_inst;
#endregion
#region Constructor
internal MethodBuilderInstantiation(MethodInfo method, Type[] inst)
{
m_method = method;
m_inst = inst;
}
#endregion
internal override Type[] GetParameterTypes()
{
return m_method.GetParameterTypes();
}
#region MemberBase
public override MemberTypes MemberType { get { return m_method.MemberType; } }
public override String Name { get { return m_method.Name; } }
public override Type DeclaringType { get { return m_method.DeclaringType; } }
public override Type ReflectedType { get { return m_method.ReflectedType; } }
public override Object[] GetCustomAttributes(bool inherit) { return m_method.GetCustomAttributes(inherit); }
public override Object[] GetCustomAttributes(Type attributeType, bool inherit) { return m_method.GetCustomAttributes(attributeType, inherit); }
public override bool IsDefined(Type attributeType, bool inherit) { return m_method.IsDefined(attributeType, inherit); }
internal override int MetadataTokenInternal
{
get
{
throw new NotSupportedException();
}
}
public override Module Module { get { return m_method.Module; } }
public new Type GetType() { return base.GetType(); }
#endregion
#region MethodBase Members
public override ParameterInfo[] GetParameters() { throw new NotSupportedException(); }
public override MethodImplAttributes GetMethodImplementationFlags() { return m_method.GetMethodImplementationFlags(); }
public override RuntimeMethodHandle MethodHandle { get { throw new NotSupportedException(Environment.GetResourceString("NotSupported_DynamicModule")); } }
public override MethodAttributes Attributes { get { return m_method.Attributes; } }
public override Object Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
{
throw new NotSupportedException();
}
public override CallingConventions CallingConvention { get { return m_method.CallingConvention; } }
public override Type[] GetGenericArguments() { return m_inst; }
public override MethodInfo GetGenericMethodDefinition() { return m_method; }
public override bool IsGenericMethodDefinition { get { return false; } }
public override bool ContainsGenericParameters
{
get
{
for (int i = 0; i < m_inst.Length; i++)
{
if (m_inst[i].ContainsGenericParameters)
return true;
}
if (DeclaringType != null && DeclaringType.ContainsGenericParameters)
return true;
return false;
}
}
public override MethodInfo MakeGenericMethod(params Type[] arguments)
{
throw new InvalidOperationException(Environment.GetResourceString("Arg_NotGenericMethodDefinition"));
}
public override bool IsGenericMethod { get { return true; } }
#endregion
#region Public Abstract\Virtual Members
internal override Type GetReturnType() { return m_method.GetReturnType(); }
public override ParameterInfo ReturnParameter { get { throw new NotSupportedException(); } }
public override ICustomAttributeProvider ReturnTypeCustomAttributes { get { throw new NotSupportedException(); } }
public override MethodInfo GetBaseDefinition() { throw new NotSupportedException(); }
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Propagator.ExtentPlaceholderCreator.cs
- WorkflowServiceBehavior.cs
- SqlMultiplexer.cs
- AppLevelCompilationSectionCache.cs
- StoreContentChangedEventArgs.cs
- NameValueCollection.cs
- NamespaceEmitter.cs
- WhereQueryOperator.cs
- MessageContractImporter.cs
- WebSysDisplayNameAttribute.cs
- SmtpNegotiateAuthenticationModule.cs
- Activator.cs
- IgnoreFlushAndCloseStream.cs
- DateTimeConstantAttribute.cs
- ProviderUtil.cs
- CollaborationHelperFunctions.cs
- SoapFault.cs
- ConsumerConnectionPointCollection.cs
- DataGridColumnReorderingEventArgs.cs
- FontWeightConverter.cs
- DeploymentSection.cs
- ClaimTypeElementCollection.cs
- CommonRemoteMemoryBlock.cs
- WindowsStatusBar.cs
- MetadataUtil.cs
- DesignerTransactionCloseEvent.cs
- SerializationAttributes.cs
- OdbcParameterCollection.cs
- ToolStripGrip.cs
- ParameterCollection.cs
- RegionData.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- UnmanagedMemoryAccessor.cs
- ServiceModelActivationSectionGroup.cs
- CrossSiteScriptingValidation.cs
- Axis.cs
- SoapSchemaMember.cs
- LayoutSettings.cs
- ErrorWrapper.cs
- RoutedPropertyChangedEventArgs.cs
- HttpTransportElement.cs
- XPathDescendantIterator.cs
- MappingException.cs
- WebBaseEventKeyComparer.cs
- LineGeometry.cs
- ServerProtocol.cs
- FieldAccessException.cs
- ThreadTrace.cs
- ScalarOps.cs
- TabControlDesigner.cs
- ObjectDataSourceMethodEventArgs.cs
- DataGridCommandEventArgs.cs
- EdmToObjectNamespaceMap.cs
- Token.cs
- AnchoredBlock.cs
- VirtualDirectoryMappingCollection.cs
- EmptyCollection.cs
- ItemTypeToolStripMenuItem.cs
- PhonemeEventArgs.cs
- Cursor.cs
- ParserHooks.cs
- GradientBrush.cs
- TimelineGroup.cs
- RotateTransform3D.cs
- DataServiceRequestException.cs
- PageAdapter.cs
- ClientData.cs
- ScalarOps.cs
- EastAsianLunisolarCalendar.cs
- Hyperlink.cs
- MenuAutoFormat.cs
- DataGridViewRowStateChangedEventArgs.cs
- UnitySerializationHolder.cs
- MetadataPropertyAttribute.cs
- ReflectionUtil.cs
- StorageMappingItemLoader.cs
- CopyAttributesAction.cs
- Tuple.cs
- InvalidMessageContractException.cs
- OdbcReferenceCollection.cs
- LogSwitch.cs
- InnerItemCollectionView.cs
- ToolStripProgressBar.cs
- WindowsGraphicsWrapper.cs
- TabControlAutomationPeer.cs
- KnownTypesHelper.cs
- validationstate.cs
- MessageBox.cs
- DataListCommandEventArgs.cs
- OrderToken.cs
- WindowsListViewScroll.cs
- Base64Encoder.cs
- WebPartConnectionCollection.cs
- InternalResources.cs
- QueryCacheEntry.cs
- BamlTreeMap.cs
- AppDomainCompilerProxy.cs
- CodeArrayCreateExpression.cs
- CollaborationHelperFunctions.cs
- ManagedFilter.cs