Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Reflection / Emit / MethodBuilderInstantiation.cs / 1305376 / MethodBuilderInstantiation.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
// [....]
//
namespace System.Reflection.Emit
{
using System;
using System.Reflection;
using System.Collections;
using System.Globalization;
using System.Diagnostics.Contracts;
internal sealed class MethodBuilderInstantiation : MethodInfo
{
#region Static Members
internal static MethodInfo MakeGenericMethod(MethodInfo method, Type[] inst)
{
if (!method.IsGenericMethodDefinition)
throw new InvalidOperationException();
Contract.EndContractBlock();
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); }
public override Module Module { get { return m_method.Module; } }
public new Type GetType() { return base.GetType(); }
#endregion
#region MethodBase Members
[Pure]
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
public override Type ReturnType
{
get
{
return m_method.ReturnType;
}
}
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.
//
// ==--==
// [....]
//
namespace System.Reflection.Emit
{
using System;
using System.Reflection;
using System.Collections;
using System.Globalization;
using System.Diagnostics.Contracts;
internal sealed class MethodBuilderInstantiation : MethodInfo
{
#region Static Members
internal static MethodInfo MakeGenericMethod(MethodInfo method, Type[] inst)
{
if (!method.IsGenericMethodDefinition)
throw new InvalidOperationException();
Contract.EndContractBlock();
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); }
public override Module Module { get { return m_method.Module; } }
public new Type GetType() { return base.GetType(); }
#endregion
#region MethodBase Members
[Pure]
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
public override Type ReturnType
{
get
{
return m_method.ReturnType;
}
}
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NullableConverter.cs
- ResizeBehavior.cs
- ServicePointManager.cs
- MetafileHeader.cs
- XamlSerializerUtil.cs
- AuthenticationModuleElementCollection.cs
- Context.cs
- FormViewPageEventArgs.cs
- SpellCheck.cs
- SocketElement.cs
- PathSegment.cs
- IDQuery.cs
- ErrorFormatter.cs
- Activator.cs
- DecoderNLS.cs
- IDispatchConstantAttribute.cs
- VarRemapper.cs
- XmlSchemas.cs
- NativeCompoundFileAPIs.cs
- AssemblyCollection.cs
- PropertyPathConverter.cs
- StrokeNodeEnumerator.cs
- ObservableCollection.cs
- PerspectiveCamera.cs
- DataBindEngine.cs
- MethodToken.cs
- ToolBarButton.cs
- MessageBox.cs
- _OverlappedAsyncResult.cs
- SqlDuplicator.cs
- DataGridLinkButton.cs
- TreeNodeCollection.cs
- WorkflowServiceBehavior.cs
- TemplateApplicationHelper.cs
- AssemblyHelper.cs
- HttpRequestTraceRecord.cs
- recordstatescratchpad.cs
- AssemblyLoader.cs
- FontFaceLayoutInfo.cs
- TransformPattern.cs
- SettingsAttributes.cs
- MenuItemStyleCollection.cs
- ExplicitDiscriminatorMap.cs
- TypeResolvingOptions.cs
- PagedDataSource.cs
- XPathNavigatorKeyComparer.cs
- Icon.cs
- GroupItemAutomationPeer.cs
- XpsDigitalSignature.cs
- ObjectDataProvider.cs
- StyleBamlRecordReader.cs
- HostElement.cs
- AsmxEndpointPickerExtension.cs
- NativeCompoundFileAPIs.cs
- PerformanceCounterPermissionEntry.cs
- FactoryMaker.cs
- IPAddress.cs
- JsonWriter.cs
- DetailsViewDeleteEventArgs.cs
- AsyncContentLoadedEventArgs.cs
- Context.cs
- BoundField.cs
- PrimitiveType.cs
- GroupJoinQueryOperator.cs
- CatalogPartCollection.cs
- Light.cs
- Cursor.cs
- ThreadAbortException.cs
- SqlErrorCollection.cs
- ContourSegment.cs
- ZipIOFileItemStream.cs
- XomlCompilerError.cs
- JsonDeserializer.cs
- SqlClientMetaDataCollectionNames.cs
- PeerHopCountAttribute.cs
- TextServicesProperty.cs
- LayoutTableCell.cs
- ObjectToModelValueConverter.cs
- SocketException.cs
- TdsParserSafeHandles.cs
- AdCreatedEventArgs.cs
- ComponentEvent.cs
- ArithmeticLiteral.cs
- PersonalizationDictionary.cs
- NamespaceQuery.cs
- PrintPreviewControl.cs
- AuthenticationSection.cs
- SessionStateItemCollection.cs
- XamlGridLengthSerializer.cs
- CodeSubDirectory.cs
- HttpCacheVary.cs
- LiteralControl.cs
- ZipPackage.cs
- FastEncoderWindow.cs
- View.cs
- CounterCreationDataCollection.cs
- ComboBoxItem.cs
- SymmetricKeyWrap.cs
- ImageCodecInfo.cs
- Model3D.cs