Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Reflection / TypeDelegator.cs / 1305376 / TypeDelegator.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // TypeDelegator // //[....] // This class wraps a Type object and delegates all methods to that Type. namespace System.Reflection { using System; using System.Runtime.InteropServices; using System.Diagnostics.Contracts; using CultureInfo = System.Globalization.CultureInfo; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public class TypeDelegator : Type { protected Type typeImpl; protected TypeDelegator() {} [System.Security.SecuritySafeCritical] // auto-generated public TypeDelegator(Type delegatingType) { if (delegatingType == null) throw new ArgumentNullException("delegatingType"); Contract.EndContractBlock(); typeImpl = delegatingType; } public override Guid GUID { get {return typeImpl.GUID;} } public override int MetadataToken { get { return typeImpl.MetadataToken; } } public override Object InvokeMember(String name,BindingFlags invokeAttr,Binder binder,Object target, Object[] args,ParameterModifier[] modifiers,CultureInfo culture,String[] namedParameters) { return typeImpl.InvokeMember(name,invokeAttr,binder,target,args,modifiers,culture,namedParameters); } public override Module Module { get {return typeImpl.Module;} } public override Assembly Assembly { get {return typeImpl.Assembly;} } public override RuntimeTypeHandle TypeHandle { get{return typeImpl.TypeHandle;} } public override String Name { get{return typeImpl.Name;} } public override String FullName { get{return typeImpl.FullName;} } public override String Namespace { get{return typeImpl.Namespace;} } public override String AssemblyQualifiedName { get { return typeImpl.AssemblyQualifiedName; } } public override Type BaseType { get{return typeImpl.BaseType;} } protected override ConstructorInfo GetConstructorImpl(BindingFlags bindingAttr,Binder binder, CallingConventions callConvention, Type[] types,ParameterModifier[] modifiers) { return typeImpl.GetConstructor(bindingAttr,binder,callConvention,types,modifiers); } [System.Runtime.InteropServices.ComVisible(true)] public override ConstructorInfo[] GetConstructors(BindingFlags bindingAttr) { return typeImpl.GetConstructors(bindingAttr); } protected override MethodInfo GetMethodImpl(String name,BindingFlags bindingAttr,Binder binder, CallingConventions callConvention, Type[] types,ParameterModifier[] modifiers) { // This is interesting there are two paths into the impl. One that validates // type as non-null and one where type may be null. if (types == null) return typeImpl.GetMethod(name,bindingAttr); else return typeImpl.GetMethod(name,bindingAttr,binder,callConvention,types,modifiers); } public override MethodInfo[] GetMethods(BindingFlags bindingAttr) { return typeImpl.GetMethods(bindingAttr); } public override FieldInfo GetField(String name, BindingFlags bindingAttr) { return typeImpl.GetField(name,bindingAttr); } public override FieldInfo[] GetFields(BindingFlags bindingAttr) { return typeImpl.GetFields(bindingAttr); } public override Type GetInterface(String name, bool ignoreCase) { return typeImpl.GetInterface(name,ignoreCase); } public override Type[] GetInterfaces() { return typeImpl.GetInterfaces(); } public override EventInfo GetEvent(String name,BindingFlags bindingAttr) { return typeImpl.GetEvent(name,bindingAttr); } public override EventInfo[] GetEvents() { return typeImpl.GetEvents(); } protected override PropertyInfo GetPropertyImpl(String name,BindingFlags bindingAttr,Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers) { if (returnType == null && types == null) return typeImpl.GetProperty(name,bindingAttr); else return typeImpl.GetProperty(name,bindingAttr,binder,returnType,types,modifiers); } public override PropertyInfo[] GetProperties(BindingFlags bindingAttr) { return typeImpl.GetProperties(bindingAttr); } public override EventInfo[] GetEvents(BindingFlags bindingAttr) { return typeImpl.GetEvents(bindingAttr); } public override Type[] GetNestedTypes(BindingFlags bindingAttr) { return typeImpl.GetNestedTypes(bindingAttr); } public override Type GetNestedType(String name, BindingFlags bindingAttr) { return typeImpl.GetNestedType(name,bindingAttr); } public override MemberInfo[] GetMember(String name, MemberTypes type, BindingFlags bindingAttr) { return typeImpl.GetMember(name,type,bindingAttr); } public override MemberInfo[] GetMembers(BindingFlags bindingAttr) { return typeImpl.GetMembers(bindingAttr); } protected override TypeAttributes GetAttributeFlagsImpl() { return typeImpl.Attributes; } protected override bool IsArrayImpl() { return typeImpl.IsArray; } protected override bool IsPrimitiveImpl() { return typeImpl.IsPrimitive; } protected override bool IsByRefImpl() { return typeImpl.IsByRef; } protected override bool IsPointerImpl() { return typeImpl.IsPointer; } protected override bool IsValueTypeImpl() { return typeImpl.IsValueType; } protected override bool IsCOMObjectImpl() { return typeImpl.IsCOMObject; } public override Type GetElementType() { return typeImpl.GetElementType(); } protected override bool HasElementTypeImpl() { return typeImpl.HasElementType; } public override Type UnderlyingSystemType { get {return typeImpl.UnderlyingSystemType;} } // ICustomAttributeProvider public override Object[] GetCustomAttributes(bool inherit) { return typeImpl.GetCustomAttributes(inherit); } public override Object[] GetCustomAttributes(Type attributeType, bool inherit) { return typeImpl.GetCustomAttributes(attributeType, inherit); } public override bool IsDefined(Type attributeType, bool inherit) { return typeImpl.IsDefined(attributeType, inherit); } [System.Runtime.InteropServices.ComVisible(true)] public override InterfaceMapping GetInterfaceMap(Type interfaceType) { return typeImpl.GetInterfaceMap(interfaceType); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // TypeDelegator // //[....] // This class wraps a Type object and delegates all methods to that Type. namespace System.Reflection { using System; using System.Runtime.InteropServices; using System.Diagnostics.Contracts; using CultureInfo = System.Globalization.CultureInfo; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public class TypeDelegator : Type { protected Type typeImpl; protected TypeDelegator() {} [System.Security.SecuritySafeCritical] // auto-generated public TypeDelegator(Type delegatingType) { if (delegatingType == null) throw new ArgumentNullException("delegatingType"); Contract.EndContractBlock(); typeImpl = delegatingType; } public override Guid GUID { get {return typeImpl.GUID;} } public override int MetadataToken { get { return typeImpl.MetadataToken; } } public override Object InvokeMember(String name,BindingFlags invokeAttr,Binder binder,Object target, Object[] args,ParameterModifier[] modifiers,CultureInfo culture,String[] namedParameters) { return typeImpl.InvokeMember(name,invokeAttr,binder,target,args,modifiers,culture,namedParameters); } public override Module Module { get {return typeImpl.Module;} } public override Assembly Assembly { get {return typeImpl.Assembly;} } public override RuntimeTypeHandle TypeHandle { get{return typeImpl.TypeHandle;} } public override String Name { get{return typeImpl.Name;} } public override String FullName { get{return typeImpl.FullName;} } public override String Namespace { get{return typeImpl.Namespace;} } public override String AssemblyQualifiedName { get { return typeImpl.AssemblyQualifiedName; } } public override Type BaseType { get{return typeImpl.BaseType;} } protected override ConstructorInfo GetConstructorImpl(BindingFlags bindingAttr,Binder binder, CallingConventions callConvention, Type[] types,ParameterModifier[] modifiers) { return typeImpl.GetConstructor(bindingAttr,binder,callConvention,types,modifiers); } [System.Runtime.InteropServices.ComVisible(true)] public override ConstructorInfo[] GetConstructors(BindingFlags bindingAttr) { return typeImpl.GetConstructors(bindingAttr); } protected override MethodInfo GetMethodImpl(String name,BindingFlags bindingAttr,Binder binder, CallingConventions callConvention, Type[] types,ParameterModifier[] modifiers) { // This is interesting there are two paths into the impl. One that validates // type as non-null and one where type may be null. if (types == null) return typeImpl.GetMethod(name,bindingAttr); else return typeImpl.GetMethod(name,bindingAttr,binder,callConvention,types,modifiers); } public override MethodInfo[] GetMethods(BindingFlags bindingAttr) { return typeImpl.GetMethods(bindingAttr); } public override FieldInfo GetField(String name, BindingFlags bindingAttr) { return typeImpl.GetField(name,bindingAttr); } public override FieldInfo[] GetFields(BindingFlags bindingAttr) { return typeImpl.GetFields(bindingAttr); } public override Type GetInterface(String name, bool ignoreCase) { return typeImpl.GetInterface(name,ignoreCase); } public override Type[] GetInterfaces() { return typeImpl.GetInterfaces(); } public override EventInfo GetEvent(String name,BindingFlags bindingAttr) { return typeImpl.GetEvent(name,bindingAttr); } public override EventInfo[] GetEvents() { return typeImpl.GetEvents(); } protected override PropertyInfo GetPropertyImpl(String name,BindingFlags bindingAttr,Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers) { if (returnType == null && types == null) return typeImpl.GetProperty(name,bindingAttr); else return typeImpl.GetProperty(name,bindingAttr,binder,returnType,types,modifiers); } public override PropertyInfo[] GetProperties(BindingFlags bindingAttr) { return typeImpl.GetProperties(bindingAttr); } public override EventInfo[] GetEvents(BindingFlags bindingAttr) { return typeImpl.GetEvents(bindingAttr); } public override Type[] GetNestedTypes(BindingFlags bindingAttr) { return typeImpl.GetNestedTypes(bindingAttr); } public override Type GetNestedType(String name, BindingFlags bindingAttr) { return typeImpl.GetNestedType(name,bindingAttr); } public override MemberInfo[] GetMember(String name, MemberTypes type, BindingFlags bindingAttr) { return typeImpl.GetMember(name,type,bindingAttr); } public override MemberInfo[] GetMembers(BindingFlags bindingAttr) { return typeImpl.GetMembers(bindingAttr); } protected override TypeAttributes GetAttributeFlagsImpl() { return typeImpl.Attributes; } protected override bool IsArrayImpl() { return typeImpl.IsArray; } protected override bool IsPrimitiveImpl() { return typeImpl.IsPrimitive; } protected override bool IsByRefImpl() { return typeImpl.IsByRef; } protected override bool IsPointerImpl() { return typeImpl.IsPointer; } protected override bool IsValueTypeImpl() { return typeImpl.IsValueType; } protected override bool IsCOMObjectImpl() { return typeImpl.IsCOMObject; } public override Type GetElementType() { return typeImpl.GetElementType(); } protected override bool HasElementTypeImpl() { return typeImpl.HasElementType; } public override Type UnderlyingSystemType { get {return typeImpl.UnderlyingSystemType;} } // ICustomAttributeProvider public override Object[] GetCustomAttributes(bool inherit) { return typeImpl.GetCustomAttributes(inherit); } public override Object[] GetCustomAttributes(Type attributeType, bool inherit) { return typeImpl.GetCustomAttributes(attributeType, inherit); } public override bool IsDefined(Type attributeType, bool inherit) { return typeImpl.IsDefined(attributeType, inherit); } [System.Runtime.InteropServices.ComVisible(true)] public override InterfaceMapping GetInterfaceMap(Type interfaceType) { return typeImpl.GetInterfaceMap(interfaceType); } } } // 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
- ResourceWriter.cs
- SchemaNamespaceManager.cs
- XmlIncludeAttribute.cs
- DataSet.cs
- XmlCharacterData.cs
- AnnotationAuthorChangedEventArgs.cs
- XmlAttributes.cs
- SafeFindHandle.cs
- ExpressionBuilder.cs
- SessionStateSection.cs
- RangeBase.cs
- Utils.cs
- StorageModelBuildProvider.cs
- XPathSingletonIterator.cs
- RangeValueProviderWrapper.cs
- TemplateKey.cs
- Stylesheet.cs
- AffineTransform3D.cs
- PhysicalFontFamily.cs
- PeerService.cs
- ListViewSortEventArgs.cs
- ServiceBusyException.cs
- DesignerView.Commands.cs
- OnOperation.cs
- EntityDataSourceReferenceGroup.cs
- DataFormats.cs
- ExecutionContext.cs
- Crc32Helper.cs
- DataTrigger.cs
- UpdateCommandGenerator.cs
- TextDecorationUnitValidation.cs
- InputScopeAttribute.cs
- ObjectTag.cs
- SynchronizedDispatch.cs
- MSAAEventDispatcher.cs
- ObjectParameterCollection.cs
- ToggleButtonAutomationPeer.cs
- AutomationAttributeInfo.cs
- WebConfigurationFileMap.cs
- DocumentXmlWriter.cs
- HttpStreamXmlDictionaryReader.cs
- PropertyChangingEventArgs.cs
- FtpWebResponse.cs
- StateManagedCollection.cs
- DbConnectionPoolGroup.cs
- TrustSection.cs
- InfiniteTimeSpanConverter.cs
- RawTextInputReport.cs
- CounterCreationData.cs
- TextElementEnumerator.cs
- TransformCryptoHandle.cs
- Timeline.cs
- SqlExpressionNullability.cs
- TextEncodedRawTextWriter.cs
- path.cs
- SqlPersonalizationProvider.cs
- ObjectItemNoOpAssemblyLoader.cs
- _HeaderInfo.cs
- MetafileHeaderWmf.cs
- AssemblyInfo.cs
- Vector3D.cs
- GradientStop.cs
- HttpException.cs
- OdbcParameterCollection.cs
- ExtendedPropertyCollection.cs
- ComboBoxItem.cs
- ResourceDisplayNameAttribute.cs
- TextureBrush.cs
- GradientPanel.cs
- ColorMap.cs
- ListenerUnsafeNativeMethods.cs
- HasCopySemanticsAttribute.cs
- ComplexPropertyEntry.cs
- ListViewInsertedEventArgs.cs
- NamedPipeConnectionPoolSettings.cs
- DataObject.cs
- EventLogInformation.cs
- NotifyInputEventArgs.cs
- ConnectionPoint.cs
- FontStyle.cs
- PriorityItem.cs
- VectorConverter.cs
- Dictionary.cs
- MethodExpr.cs
- WindowsSysHeader.cs
- StreamFormatter.cs
- TdsParameterSetter.cs
- HtmlWindow.cs
- PropertyEmitterBase.cs
- ListManagerBindingsCollection.cs
- CLRBindingWorker.cs
- RawStylusInput.cs
- XmlElementList.cs
- _HTTPDateParse.cs
- PartialArray.cs
- FragmentQueryProcessor.cs
- HtmlGenericControl.cs
- DeleteStoreRequest.cs
- CodeTypeMemberCollection.cs
- DataGridTableCollection.cs