Show / Hide Table of Contents

Class ComplexType

Represents a complex type. Complex type is a type contructed on demand based on another type defined in some assembly, for example, an array or pointer type.

Inheritance
System.Object
System.Reflection.MemberInfo
System.Type
ComplexType
Implements
System.Reflection.ICustomAttributeProvider
System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type
System.Reflection.IReflect
IReflectionInfo
Inherited Members
System.Type.FilterAttribute
System.Type.FilterName
System.Type.FilterNameIgnoreCase
System.Type.Missing
System.Type.Delimiter
System.Type.EmptyTypes
System.Type.GetType(System.String, System.Boolean, System.Boolean)
System.Type.GetType(System.String, System.Boolean)
System.Type.GetType(System.String)
System.Type.GetType(System.String, System.Func<System.Reflection.AssemblyName, System.Reflection.Assembly>, System.Func<System.Reflection.Assembly, System.String, System.Boolean, System.Type>)
System.Type.GetType(System.String, System.Func<System.Reflection.AssemblyName, System.Reflection.Assembly>, System.Func<System.Reflection.Assembly, System.String, System.Boolean, System.Type>, System.Boolean)
System.Type.GetType(System.String, System.Func<System.Reflection.AssemblyName, System.Reflection.Assembly>, System.Func<System.Reflection.Assembly, System.String, System.Boolean, System.Type>, System.Boolean, System.Boolean)
System.Type.ReflectionOnlyGetType(System.String, System.Boolean, System.Boolean)
System.Type.MakeArrayType(System.Int32)
System.Type.GetTypeFromProgID(System.String)
System.Type.GetTypeFromProgID(System.String, System.Boolean)
System.Type.GetTypeFromProgID(System.String, System.String)
System.Type.GetTypeFromProgID(System.String, System.String, System.Boolean)
System.Type.GetTypeFromCLSID(System.Guid)
System.Type.GetTypeFromCLSID(System.Guid, System.Boolean)
System.Type.GetTypeFromCLSID(System.Guid, System.String)
System.Type.GetTypeFromCLSID(System.Guid, System.String, System.Boolean)
System.Type.GetTypeCode(System.Type)
System.Type.GetTypeCodeImpl()
System.Type.InvokeMember(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object, System.Object[], System.Globalization.CultureInfo)
System.Type.InvokeMember(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object, System.Object[])
System.Type.GetTypeHandle(System.Object)
System.Type.GetTypeFromHandle(System.RuntimeTypeHandle)
System.Type.GetConstructor(System.Reflection.BindingFlags, System.Reflection.Binder, System.Reflection.CallingConventions, System.Type[], System.Reflection.ParameterModifier[])
System.Type.GetConstructor(System.Reflection.BindingFlags, System.Reflection.Binder, System.Type[], System.Reflection.ParameterModifier[])
System.Type.GetConstructor(System.Type[])
System.Type.GetConstructors()
System.Type.GetMethod(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Reflection.CallingConventions, System.Type[], System.Reflection.ParameterModifier[])
System.Type.GetMethod(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Type[], System.Reflection.ParameterModifier[])
System.Type.GetMethod(System.String, System.Type[], System.Reflection.ParameterModifier[])
System.Type.GetMethod(System.String, System.Type[])
System.Type.GetMethod(System.String, System.Reflection.BindingFlags)
System.Type.GetMethod(System.String)
System.Type.GetMethods()
System.Type.GetField(System.String)
System.Type.GetFields()
System.Type.GetInterface(System.String)
System.Type.FindInterfaces(System.Reflection.TypeFilter, System.Object)
System.Type.GetEvent(System.String)
System.Type.GetEvents()
System.Type.GetProperty(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Type, System.Type[], System.Reflection.ParameterModifier[])
System.Type.GetProperty(System.String, System.Type, System.Type[], System.Reflection.ParameterModifier[])
System.Type.GetProperty(System.String, System.Reflection.BindingFlags)
System.Type.GetProperty(System.String, System.Type, System.Type[])
System.Type.GetProperty(System.String, System.Type[])
System.Type.GetProperty(System.String, System.Type)
System.Type.GetProperty(System.String)
System.Type.GetProperties()
System.Type.GetNestedTypes()
System.Type.GetNestedType(System.String)
System.Type.GetMember(System.String)
System.Type.GetMember(System.String, System.Reflection.MemberTypes, System.Reflection.BindingFlags)
System.Type.GetMembers()
System.Type.GetDefaultMembers()
System.Type.FindMembers(System.Reflection.MemberTypes, System.Reflection.BindingFlags, System.Reflection.MemberFilter, System.Object)
System.Type.GetGenericParameterConstraints()
System.Type.IsValueTypeImpl()
System.Type.MakeGenericType(System.Type[])
System.Type.IsContextfulImpl()
System.Type.IsMarshalByRefImpl()
System.Type.GetEnumNames()
System.Type.GetEnumValues()
System.Type.GetEnumUnderlyingType()
System.Type.IsEnumDefined(System.Object)
System.Type.GetEnumName(System.Object)
System.Type.IsSubclassOf(System.Type)
System.Type.IsInstanceOfType(System.Object)
System.Type.IsAssignableFrom(System.Type)
System.Type.IsEquivalentTo(System.Type)
System.Type.GetTypeArray(System.Object[])
System.Type.Equals(System.Object)
System.Type.Equals(System.Type)
System.Type.GetInterfaceMap(System.Type)
System.Type.GetType()
System.Type.System.Runtime.InteropServices._Type.GetTypeInfoCount(System.UInt32)
System.Type.System.Runtime.InteropServices._Type.GetTypeInfo(System.UInt32, System.UInt32, System.IntPtr)
System.Type.System.Runtime.InteropServices._Type.GetIDsOfNames(System.Guid, System.IntPtr, System.UInt32, System.UInt32, System.IntPtr)
System.Type.System.Runtime.InteropServices._Type.Invoke(System.UInt32, System.Guid, System.UInt32, System.Int16, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr)
System.Type.MemberType
System.Type.DeclaringMethod
System.Type.ReflectedType
System.Type.StructLayoutAttribute
System.Type.DefaultBinder
System.Type.TypeHandle
System.Type.TypeInitializer
System.Type.IsNested
System.Type.Attributes
System.Type.GenericParameterAttributes
System.Type.IsVisible
System.Type.IsNotPublic
System.Type.IsPublic
System.Type.IsNestedPublic
System.Type.IsNestedPrivate
System.Type.IsNestedFamily
System.Type.IsNestedAssembly
System.Type.IsNestedFamANDAssem
System.Type.IsNestedFamORAssem
System.Type.IsAutoLayout
System.Type.IsLayoutSequential
System.Type.IsExplicitLayout
System.Type.IsClass
System.Type.IsInterface
System.Type.IsValueType
System.Type.IsAbstract
System.Type.IsSealed
System.Type.IsEnum
System.Type.IsSpecialName
System.Type.IsImport
System.Type.IsSerializable
System.Type.IsAnsiClass
System.Type.IsUnicodeClass
System.Type.IsAutoClass
System.Type.IsArray
System.Type.IsConstructedGenericType
System.Type.IsGenericParameter
System.Type.GenericParameterPosition
System.Type.ContainsGenericParameters
System.Type.IsByRef
System.Type.IsPointer
System.Type.IsPrimitive
System.Type.IsCOMObject
System.Type.HasElementType
System.Type.IsContextful
System.Type.IsMarshalByRef
System.Type.GenericTypeArguments
System.Type.IsSecurityCritical
System.Type.IsSecuritySafeCritical
System.Type.IsSecurityTransparent
System.Reflection.MemberInfo.GetCustomAttributesData()
System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.GetType()
System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.GetTypeInfoCount(System.UInt32)
System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.GetTypeInfo(System.UInt32, System.UInt32, System.IntPtr)
System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.GetIDsOfNames(System.Guid, System.IntPtr, System.UInt32, System.UInt32, System.IntPtr)
System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.Invoke(System.UInt32, System.Guid, System.UInt32, System.Int16, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr)
System.Reflection.MemberInfo.CustomAttributes
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.MemberwiseClone()
Namespace: CilTools.Reflection
Assembly: CilTools.BytecodeAnalysis.dll
Syntax
public class ComplexType : Type, ICustomAttributeProvider, _MemberInfo, _Type, IReflect, IReflectionInfo

Constructors

ComplexType(Type, ComplexTypeKind, Type[])

Creates new instance of the complex type

Declaration
public ComplexType(Type t, ComplexTypeKind k, Type[] ga)
Parameters
Type Name Description
System.Type t

Element type

ComplexTypeKind k

Kind of the complex type

System.Type[] ga

An array of generic type arguments, or null if this is not a generic type instantiation

Properties

Assembly

Declaration
public override Assembly Assembly { get; }
Property Value
Type Description
System.Reflection.Assembly
Overrides
System.Type.Assembly

AssemblyQualifiedName

Declaration
public override string AssemblyQualifiedName { get; }
Property Value
Type Description
System.String
Overrides
System.Type.AssemblyQualifiedName

BaseType

Declaration
public override Type BaseType { get; }
Property Value
Type Description
System.Type
Overrides
System.Type.BaseType

DeclaringType

Declaration
public override Type DeclaringType { get; }
Property Value
Type Description
System.Type
Overrides
System.Type.DeclaringType

FullName

Declaration
public override string FullName { get; }
Property Value
Type Description
System.String
Overrides
System.Type.FullName

GUID

Declaration
public override Guid GUID { get; }
Property Value
Type Description
System.Guid
Overrides
System.Type.GUID

IsGenericType

Declaration
public override bool IsGenericType { get; }
Property Value
Type Description
System.Boolean
Overrides
System.Type.IsGenericType

IsGenericTypeDefinition

Declaration
public override bool IsGenericTypeDefinition { get; }
Property Value
Type Description
System.Boolean
Overrides
System.Type.IsGenericTypeDefinition

MetadataToken

Declaration
public override int MetadataToken { get; }
Property Value
Type Description
System.Int32
Overrides
System.Reflection.MemberInfo.MetadataToken

Module

Declaration
public override Module Module { get; }
Property Value
Type Description
System.Reflection.Module
Overrides
System.Type.Module

Name

Declaration
public override string Name { get; }
Property Value
Type Description
System.String
Overrides
System.Reflection.MemberInfo.Name

Namespace

Declaration
public override string Namespace { get; }
Property Value
Type Description
System.String
Overrides
System.Type.Namespace

UnderlyingSystemType

Declaration
public override Type UnderlyingSystemType { get; }
Property Value
Type Description
System.Type
Overrides
System.Type.UnderlyingSystemType

Methods

GetArrayRank()

Declaration
public override int GetArrayRank()
Returns
Type Description
System.Int32
Overrides
System.Type.GetArrayRank()

GetAttributeFlagsImpl()

Declaration
protected override TypeAttributes GetAttributeFlagsImpl()
Returns
Type Description
System.Reflection.TypeAttributes
Overrides
System.Type.GetAttributeFlagsImpl()

GetConstructorImpl(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

Declaration
protected override ConstructorInfo GetConstructorImpl(BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers)
Parameters
Type Name Description
System.Reflection.BindingFlags bindingAttr
System.Reflection.Binder binder
System.Reflection.CallingConventions callConvention
System.Type[] types
System.Reflection.ParameterModifier[] modifiers
Returns
Type Description
System.Reflection.ConstructorInfo
Overrides
System.Type.GetConstructorImpl(System.Reflection.BindingFlags, System.Reflection.Binder, System.Reflection.CallingConventions, System.Type[], System.Reflection.ParameterModifier[])

GetConstructors(BindingFlags)

Declaration
public override ConstructorInfo[] GetConstructors(BindingFlags bindingAttr)
Parameters
Type Name Description
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Reflection.ConstructorInfo[]
Overrides
System.Type.GetConstructors(System.Reflection.BindingFlags)

GetCustomAttributes(Boolean)

Declaration
public override object[] GetCustomAttributes(bool inherit)
Parameters
Type Name Description
System.Boolean inherit
Returns
Type Description
System.Object[]
Overrides
System.Reflection.MemberInfo.GetCustomAttributes(System.Boolean)

GetCustomAttributes(Type, Boolean)

Declaration
public override object[] GetCustomAttributes(Type attributeType, bool inherit)
Parameters
Type Name Description
System.Type attributeType
System.Boolean inherit
Returns
Type Description
System.Object[]
Overrides
System.Reflection.MemberInfo.GetCustomAttributes(System.Type, System.Boolean)

GetElementType()

Declaration
public override Type GetElementType()
Returns
Type Description
System.Type
Overrides
System.Type.GetElementType()

GetEvent(String, BindingFlags)

Declaration
public override EventInfo GetEvent(string name, BindingFlags bindingAttr)
Parameters
Type Name Description
System.String name
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Reflection.EventInfo
Overrides
System.Type.GetEvent(System.String, System.Reflection.BindingFlags)

GetEvents(BindingFlags)

Declaration
public override EventInfo[] GetEvents(BindingFlags bindingAttr)
Parameters
Type Name Description
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Reflection.EventInfo[]
Overrides
System.Type.GetEvents(System.Reflection.BindingFlags)

GetField(String, BindingFlags)

Declaration
public override FieldInfo GetField(string name, BindingFlags bindingAttr)
Parameters
Type Name Description
System.String name
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Reflection.FieldInfo
Overrides
System.Type.GetField(System.String, System.Reflection.BindingFlags)

GetFields(BindingFlags)

Declaration
public override FieldInfo[] GetFields(BindingFlags bindingAttr)
Parameters
Type Name Description
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Reflection.FieldInfo[]
Overrides
System.Type.GetFields(System.Reflection.BindingFlags)

GetGenericArguments()

Declaration
public override Type[] GetGenericArguments()
Returns
Type Description
System.Type[]
Overrides
System.Type.GetGenericArguments()

GetGenericTypeDefinition()

Declaration
public override Type GetGenericTypeDefinition()
Returns
Type Description
System.Type
Overrides
System.Type.GetGenericTypeDefinition()

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description
System.Int32
Overrides
System.Type.GetHashCode()

GetInterface(String, Boolean)

Declaration
public override Type GetInterface(string name, bool ignoreCase)
Parameters
Type Name Description
System.String name
System.Boolean ignoreCase
Returns
Type Description
System.Type
Overrides
System.Type.GetInterface(System.String, System.Boolean)

GetInterfaces()

Declaration
public override Type[] GetInterfaces()
Returns
Type Description
System.Type[]
Overrides
System.Type.GetInterfaces()

GetMember(String, BindingFlags)

Declaration
public override MemberInfo[] GetMember(string name, BindingFlags bindingAttr)
Parameters
Type Name Description
System.String name
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Reflection.MemberInfo[]
Overrides
System.Type.GetMember(System.String, System.Reflection.BindingFlags)

GetMembers(BindingFlags)

Declaration
public override MemberInfo[] GetMembers(BindingFlags bindingAttr)
Parameters
Type Name Description
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Reflection.MemberInfo[]
Overrides
System.Type.GetMembers(System.Reflection.BindingFlags)

GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

Declaration
protected override MethodInfo GetMethodImpl(string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers)
Parameters
Type Name Description
System.String name
System.Reflection.BindingFlags bindingAttr
System.Reflection.Binder binder
System.Reflection.CallingConventions callConvention
System.Type[] types
System.Reflection.ParameterModifier[] modifiers
Returns
Type Description
System.Reflection.MethodInfo
Overrides
System.Type.GetMethodImpl(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Reflection.CallingConventions, System.Type[], System.Reflection.ParameterModifier[])

GetMethods(BindingFlags)

Declaration
public override MethodInfo[] GetMethods(BindingFlags bindingAttr)
Parameters
Type Name Description
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Reflection.MethodInfo[]
Overrides
System.Type.GetMethods(System.Reflection.BindingFlags)

GetNestedType(String, BindingFlags)

Declaration
public override Type GetNestedType(string name, BindingFlags bindingAttr)
Parameters
Type Name Description
System.String name
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Type
Overrides
System.Type.GetNestedType(System.String, System.Reflection.BindingFlags)

GetNestedTypes(BindingFlags)

Declaration
public override Type[] GetNestedTypes(BindingFlags bindingAttr)
Parameters
Type Name Description
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Type[]
Overrides
System.Type.GetNestedTypes(System.Reflection.BindingFlags)

GetProperties(BindingFlags)

Declaration
public override PropertyInfo[] GetProperties(BindingFlags bindingAttr)
Parameters
Type Name Description
System.Reflection.BindingFlags bindingAttr
Returns
Type Description
System.Reflection.PropertyInfo[]
Overrides
System.Type.GetProperties(System.Reflection.BindingFlags)

GetPropertyImpl(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])

Declaration
protected override PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers)
Parameters
Type Name Description
System.String name
System.Reflection.BindingFlags bindingAttr
System.Reflection.Binder binder
System.Type returnType
System.Type[] types
System.Reflection.ParameterModifier[] modifiers
Returns
Type Description
System.Reflection.PropertyInfo
Overrides
System.Type.GetPropertyImpl(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Type, System.Type[], System.Reflection.ParameterModifier[])

HasElementTypeImpl()

Declaration
protected override bool HasElementTypeImpl()
Returns
Type Description
System.Boolean
Overrides
System.Type.HasElementTypeImpl()

InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])

Declaration
public override object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters)
Parameters
Type Name Description
System.String name
System.Reflection.BindingFlags invokeAttr
System.Reflection.Binder binder
System.Object target
System.Object[] args
System.Reflection.ParameterModifier[] modifiers
System.Globalization.CultureInfo culture
System.String[] namedParameters
Returns
Type Description
System.Object
Overrides
System.Type.InvokeMember(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object, System.Object[], System.Reflection.ParameterModifier[], System.Globalization.CultureInfo, System.String[])

IsArrayImpl()

Declaration
protected override bool IsArrayImpl()
Returns
Type Description
System.Boolean
Overrides
System.Type.IsArrayImpl()

IsByRefImpl()

Declaration
protected override bool IsByRefImpl()
Returns
Type Description
System.Boolean
Overrides
System.Type.IsByRefImpl()

IsCOMObjectImpl()

Declaration
protected override bool IsCOMObjectImpl()
Returns
Type Description
System.Boolean
Overrides
System.Type.IsCOMObjectImpl()

IsDefined(Type, Boolean)

Declaration
public override bool IsDefined(Type attributeType, bool inherit)
Parameters
Type Name Description
System.Type attributeType
System.Boolean inherit
Returns
Type Description
System.Boolean
Overrides
System.Reflection.MemberInfo.IsDefined(System.Type, System.Boolean)

IsPointerImpl()

Declaration
protected override bool IsPointerImpl()
Returns
Type Description
System.Boolean
Overrides
System.Type.IsPointerImpl()

IsPrimitiveImpl()

Declaration
protected override bool IsPrimitiveImpl()
Returns
Type Description
System.Boolean
Overrides
System.Type.IsPrimitiveImpl()

MakeArrayType()

Declaration
public override Type MakeArrayType()
Returns
Type Description
System.Type
Overrides
System.Type.MakeArrayType()

MakeByRefType()

Declaration
public override Type MakeByRefType()
Returns
Type Description
System.Type
Overrides
System.Type.MakeByRefType()

MakePointerType()

Declaration
public override Type MakePointerType()
Returns
Type Description
System.Type
Overrides
System.Type.MakePointerType()

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String
Overrides
System.Type.ToString()

Explicit Interface Implementations

IReflectionInfo.GetReflectionProperty(Int32)

Declaration
object IReflectionInfo.GetReflectionProperty(int id)
Parameters
Type Name Description
System.Int32 id
Returns
Type Description
System.Object

Implements

System.Reflection.ICustomAttributeProvider
System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type
System.Reflection.IReflect
IReflectionInfo

Extension Methods

CilExtensions.GetReferencedMethods(Type)
CilExtensions.GetReferencedMembers(Type)
CilExtensions.GetReferencedMembers(Type, MemberCriteria)
Back to top CIL Tools (published from sources in GitHub repository).
Generated by DocFX