Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PositiveTimeSpanValidator.cs
- FixUp.cs
- EventLogReader.cs
- ServiceProviders.cs
- ADMembershipProvider.cs
- DesignerTextWriter.cs
- ReturnType.cs
- WebPartMenu.cs
- DefaultParameterValueAttribute.cs
- HttpDictionary.cs
- ReliableSessionBindingElementImporter.cs
- BuilderPropertyEntry.cs
- SplineKeyFrames.cs
- XmlElementCollection.cs
- DatePickerAutomationPeer.cs
- LoggedException.cs
- Code.cs
- _NetworkingPerfCounters.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- ExpressionParser.cs
- ConfigurationConverterBase.cs
- DbProviderSpecificTypePropertyAttribute.cs
- UpdatePanelControlTrigger.cs
- StickyNoteAnnotations.cs
- DoubleCollectionConverter.cs
- XmlConvert.cs
- TileModeValidation.cs
- PointLight.cs
- ImpersonationContext.cs
- EventLogTraceListener.cs
- TypeUtil.cs
- SessionStateModule.cs
- DbDeleteCommandTree.cs
- UserMapPath.cs
- SimpleMailWebEventProvider.cs
- SettingsPropertyValueCollection.cs
- DataServiceProviderWrapper.cs
- MouseButton.cs
- OperatingSystem.cs
- TaiwanCalendar.cs
- ComponentResourceManager.cs
- GuidelineSet.cs
- ColorMap.cs
- DataGridViewComboBoxCell.cs
- ListCollectionView.cs
- FamilyTypeface.cs
- PersonalizableAttribute.cs
- FileCodeGroup.cs
- CallContext.cs
- LinqExpressionNormalizer.cs
- FrameworkReadOnlyPropertyMetadata.cs
- GeneralTransform2DTo3D.cs
- PrinterSettings.cs
- SqlCacheDependencyDatabaseCollection.cs
- WebPartVerbsEventArgs.cs
- DBCSCodePageEncoding.cs
- NeutralResourcesLanguageAttribute.cs
- Point3DCollectionConverter.cs
- ModifiableIteratorCollection.cs
- ObjectStateManagerMetadata.cs
- XslException.cs
- Translator.cs
- XmlWriterDelegator.cs
- SymmetricKey.cs
- UncommonField.cs
- ADMembershipUser.cs
- DataGridRowClipboardEventArgs.cs
- PtsPage.cs
- FlowPosition.cs
- ExpandSegmentCollection.cs
- IOException.cs
- StringExpressionSet.cs
- PriorityBinding.cs
- NotificationContext.cs
- UpdateException.cs
- MediaCommands.cs
- CodeGroup.cs
- SQLUtility.cs
- CorrelationToken.cs
- SafeBuffer.cs
- WhitespaceRuleLookup.cs
- AutomationFocusChangedEventArgs.cs
- StructuredTypeEmitter.cs
- Vector3DCollection.cs
- DataControlButton.cs
- ScrollBar.cs
- DragEventArgs.cs
- HttpApplicationFactory.cs
- Environment.cs
- HtmlAnchor.cs
- SafeMILHandle.cs
- TemplatePropertyEntry.cs
- ButtonBaseAdapter.cs
- ConfigXmlElement.cs
- PositiveTimeSpanValidator.cs
- ContextStack.cs
- ElementFactory.cs
- DES.cs
- SchemaMapping.cs
- FileUtil.cs