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
- ProcessProtocolHandler.cs
- Overlapped.cs
- MemoryPressure.cs
- ReflectionServiceProvider.cs
- HtmlWindow.cs
- SettingsBase.cs
- SynchronizationValidator.cs
- TaskScheduler.cs
- WebPartHelpVerb.cs
- TableStyle.cs
- RNGCryptoServiceProvider.cs
- LeafCellTreeNode.cs
- Funcletizer.cs
- Message.cs
- QuaternionConverter.cs
- SqlDataSourceSelectingEventArgs.cs
- DbParameterCollectionHelper.cs
- SerialStream.cs
- ListSortDescription.cs
- HttpWebRequest.cs
- WaitForChangedResult.cs
- oledbconnectionstring.cs
- TemplateBuilder.cs
- GlyphInfoList.cs
- UTF32Encoding.cs
- Itemizer.cs
- SafeNativeMethodsOther.cs
- HttpCacheVaryByContentEncodings.cs
- AutoGeneratedField.cs
- TransformerTypeCollection.cs
- X509ScopedServiceCertificateElementCollection.cs
- SystemThemeKey.cs
- RequestQueryParser.cs
- DataGridComboBoxColumn.cs
- HybridDictionary.cs
- InvokeMethodActivity.cs
- DataError.cs
- ListViewTableCell.cs
- DPTypeDescriptorContext.cs
- PublisherMembershipCondition.cs
- CodeVariableDeclarationStatement.cs
- ManipulationCompletedEventArgs.cs
- TableRow.cs
- WsdlContractConversionContext.cs
- MbpInfo.cs
- CultureInfoConverter.cs
- XsdDateTime.cs
- Part.cs
- VariableAction.cs
- RelationshipEndCollection.cs
- WriteableOnDemandStream.cs
- HttpConfigurationContext.cs
- DataGridViewComboBoxColumn.cs
- SqlProviderUtilities.cs
- IPHostEntry.cs
- LayoutManager.cs
- XmlSchemaImport.cs
- UrlParameterReader.cs
- SoapAttributeOverrides.cs
- PageParserFilter.cs
- ObjectConverter.cs
- SessionSwitchEventArgs.cs
- PerformanceCounterLib.cs
- BaseDataBoundControl.cs
- HtmlEncodedRawTextWriter.cs
- OpenTypeCommon.cs
- SoapHeaders.cs
- BitmapPalettes.cs
- ScriptingSectionGroup.cs
- ResourcePermissionBaseEntry.cs
- PersonalizationEntry.cs
- RIPEMD160Managed.cs
- HtmlElementCollection.cs
- SortedList.cs
- TextComposition.cs
- SystemInfo.cs
- ExceptionAggregator.cs
- XmlValidatingReader.cs
- httpstaticobjectscollection.cs
- ProcessStartInfo.cs
- SecurityChannel.cs
- ReferenceEqualityComparer.cs
- ObjectNavigationPropertyMapping.cs
- DefaultPrintController.cs
- MenuItemBindingCollection.cs
- DataServiceRequestArgs.cs
- FormsAuthentication.cs
- BaseDataListComponentEditor.cs
- SwitchAttribute.cs
- ManipulationDevice.cs
- ReachDocumentReferenceCollectionSerializer.cs
- XhtmlBasicControlAdapter.cs
- MeasurementDCInfo.cs
- RangeValidator.cs
- WebPartAddingEventArgs.cs
- TableCellAutomationPeer.cs
- HighlightVisual.cs
- SamlAuthorityBinding.cs
- NetWebProxyFinder.cs
- ChannelEndpointElement.cs