Code:
/ FX-1434 / FX-1434 / 1.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
- DataControlFieldHeaderCell.cs
- JsonMessageEncoderFactory.cs
- BrowsableAttribute.cs
- ProfileServiceManager.cs
- CodeTypeDelegate.cs
- ModulesEntry.cs
- ConnectionStringsExpressionBuilder.cs
- SslSecurityTokenParameters.cs
- DeferredElementTreeState.cs
- BitmapEffectInput.cs
- FontStyle.cs
- StatusInfoItem.cs
- DbConnectionFactory.cs
- TypeDelegator.cs
- SchemaExporter.cs
- Function.cs
- AttributeAction.cs
- ClientConfigurationSystem.cs
- LiteralSubsegment.cs
- KeyTimeConverter.cs
- SymbolEqualComparer.cs
- StringAnimationUsingKeyFrames.cs
- ComboBoxItem.cs
- XmlSchemaSimpleTypeUnion.cs
- Content.cs
- MultiBindingExpression.cs
- XmlAtomicValue.cs
- EncoderParameters.cs
- CaseStatement.cs
- HttpChannelHelpers.cs
- XmlSchemaGroup.cs
- BindingsCollection.cs
- CompoundFileStreamReference.cs
- WebPartDisplayModeCancelEventArgs.cs
- CodeLinePragma.cs
- LeaseManager.cs
- StylusPointPropertyInfo.cs
- PartialCachingControl.cs
- ModulesEntry.cs
- InboundActivityHelper.cs
- Timer.cs
- Lease.cs
- serverconfig.cs
- AssemblyBuilderData.cs
- ClientTargetCollection.cs
- HwndStylusInputProvider.cs
- MenuItemStyle.cs
- ReferentialConstraint.cs
- ObjectQuery.cs
- ObjRef.cs
- SolidBrush.cs
- DoubleStorage.cs
- COM2ExtendedUITypeEditor.cs
- StringBuilder.cs
- ConfigurationConverterBase.cs
- TextFormatterContext.cs
- ErrorHandler.cs
- EntityReference.cs
- XmlSchemaObjectCollection.cs
- RectConverter.cs
- XmlSerializerSection.cs
- BindingCompleteEventArgs.cs
- FilePrompt.cs
- TypedTableBase.cs
- PtsPage.cs
- ByteAnimationUsingKeyFrames.cs
- XmlSerializerSection.cs
- DataColumn.cs
- SqlDataSource.cs
- WpfSharedXamlSchemaContext.cs
- ComplexPropertyEntry.cs
- SqlNode.cs
- UIPermission.cs
- DependencyPropertyHelper.cs
- TypeLibConverter.cs
- Update.cs
- EventMappingSettingsCollection.cs
- TextEditorTyping.cs
- MultiView.cs
- CompositionAdorner.cs
- HtmlElementErrorEventArgs.cs
- xsdvalidator.cs
- SqlRemoveConstantOrderBy.cs
- TransactionBridge.cs
- CombinedTcpChannel.cs
- XmlQualifiedName.cs
- Utils.cs
- PipelineComponent.cs
- SessionStateUtil.cs
- SocketPermission.cs
- DataBoundControlAdapter.cs
- X509ClientCertificateAuthenticationElement.cs
- AddressAccessDeniedException.cs
- PropertyTabChangedEvent.cs
- PageMediaSize.cs
- ObjectListShowCommandsEventArgs.cs
- NativeMethods.cs
- XmlILConstructAnalyzer.cs
- AttachmentService.cs
- Resources.Designer.cs