System::Reflection Namespace Reference

Classes

class  Details_ReflectionTypeLoadException
 
class  Details_TargetInvocationException
 
class  Assembly
 Reflection class describing assembly. Support is limited as the rules are quite different between C# and C++. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  AssemblyName
 Defines assembly name. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  AssemblyTypeRegistrationBase
 Base type for singletons to register type in executing assembly. More...
 
class  AssemblyTypeRegistration
 Singleton to register type in executing assembly. More...
 
class  ConstructorInfo
 Provides access to constructor metadata. More...
 
class  FieldInfo
 Discovers the attributes of a field and provides access to field metadata. More...
 
class  MemberInfo
 Provides reflection information on members. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  MethodBase
 Base information on method. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  MethodInfo
 Represents information on class method. More...
 
class  PropertyInfo
 Represents property information. More...
 

Typedefs

using ReflectionTypeLoadException = System::ExceptionWrapper< Details_ReflectionTypeLoadException >
 
using TargetInvocationException = System::ExceptionWrapper< Details_TargetInvocationException >
 

Enumerations

enum class  BindingFlags {
  Default = 0x00 , IgnoreCase = 0x01 , DeclaredOnly = 0x02 , Instance = 0x04 ,
  Static = 0x08 , Public = 0x10 , NonPublic = 0x20 , FlattenHierarchy = 0x40 ,
  InvokeMethod = 0x0100 , CreateInstance = 0x0200 , GetField = 0x0400 , SetField = 0x0800 ,
  GetProperty = 0x1000 , SetProperty = 0x2000 , PutDispProperty = 0x4000 , PutRefDispProperty = 0x8000 ,
  ExactBinding = 0x010000 , SuppressChangeType = 0x020000 , OptionalParamBinding = 0x040000 , IgnoreReturn = 0x01000000
}
 Degines members and types lookup modes and bindings. More...
 
enum class  FieldAttributes {
  FieldAccessMask = 0x0007 , PrivateScope = 0x0000 , Private = 0x0001 , FamANDAssem = 0x0002 ,
  Assembly = 0x0003 , Family = 0x0004 , FamORAssem = 0x0005 , Public = 0x0006 ,
  Static = 0x0010 , InitOnly = 0x0020 , Literal = 0x0040 , NotSerialized = 0x0080 ,
  SpecialName = 0x0200 , PinvokeImpl = 0x2000 , ReservedMask = 0x9500 , RTSpecialName = 0x0400 ,
  HasFieldMarshal = 0x1000 , HasDefault = 0x8000 , HasFieldRVA = 0x0100
}
 Reflected field attributes. More...
 
enum class  MemberTypes {
  Constructor = 1 , Event = 2 , Field = 4 , Method = 8 ,
  Property = 16 , TypeInfo = 32 , Custom = 64 , NestedType = 128 ,
  All = 191
}
 Marks each type of member. More...
 

Functions

const System::StringCURRENT_NAMESPACE ()
 
 DECLARE_ENUM_OPERATORS (System::Reflection::BindingFlags)
 Declaration of template arithmetic operators for values of the BindingFlags enum type. More...
 
 DECLARE_ENUM_OPERATORS (System::Reflection::FieldAttributes)
 Declaration of template arithmetic operators for values of the FieldAttributes enum type. More...
 
 DECLARE_ENUM_OPERATORS (System::Reflection::MemberTypes)
 

Typedef Documentation

◆ ReflectionTypeLoadException

◆ TargetInvocationException

Enumeration Type Documentation

◆ BindingFlags

Degines members and types lookup modes and bindings.

Enumerator
Default 

No special options.

IgnoreCase 

Ignore case of name when looking for item.

DeclaredOnly 

Only look for members declared in type and not in basetypes.

Instance 

Look through instance members.

Static 

Look through static members.

Public 

Look through public members.

NonPublic 

Look through non-public members.

FlattenHierarchy 

Look through basetype public and protected static members.

InvokeMethod 

Invokes method.

CreateInstance 

Creates reflected type instance.

GetField 

Gets field value.

SetField 

Sets field value.

GetProperty 

Gets property value.

SetProperty 

Sets property value.

PutDispProperty 

Puts COM property.

PutRefDispProperty 

Puts COM reference property.

ExactBinding 

Type binding must be exact, without any type changes.

SuppressChangeType 

Not supported.

OptionalParamBinding 

Selects overload based on arguments count.

IgnoreReturn 

Ignores COM interop return value.

◆ FieldAttributes

Reflected field attributes.

Enumerator
FieldAccessMask 

Member access mask. Use this mask to retrieve accessibility information.

PrivateScope 

Non-referancable members.

Private 

Private members.

FamANDAssem 

Private and assembly-scoped members.

Assembly 

Assembly-scoped members.

Family 

Members accessible by type and subtypes.

FamORAssem 

Members accessible by type, sub-types and assembly.

Public 

Members accessible by anyone.

Static 

Static members as opposite to instance members.

InitOnly 

Const members that can only be initialized but not changed.

Literal 

Compile time constant members.

NotSerialized 

Not serialized members.

SpecialName 

Special field of one of the below names.

PinvokeImpl 

Interop forwarded implementation.

ReservedMask 

Reserved flags for runtime use only.

RTSpecialName 

Runtim eshould check name encoding.

HasFieldMarshal 

Marshalling information is present.

HasDefault 

Default value is present.

HasFieldRVA 

RVA is present.

◆ MemberTypes

Marks each type of member.

Enumerator
Constructor 

Specifies that the member is a constructor.

Event 

Specifies that the member is an event.

Field 

Specifies that the member is a field.

Method 

Specifies that the member is a method.

Property 

Specifies that the member is a property.

TypeInfo 

Specifies that the member is a type.

Custom 

Specifies that the member is a custom member type.

NestedType 

Specifies that the member is a nested type.

All 

Specifies all member types.

Function Documentation

◆ CURRENT_NAMESPACE()

const System::String& System::Reflection::CURRENT_NAMESPACE ( )
inline

◆ DECLARE_ENUM_OPERATORS() [1/3]

System::Reflection::DECLARE_ENUM_OPERATORS ( System::Reflection::BindingFlags  )

Declaration of template arithmetic operators for values of the BindingFlags enum type.

◆ DECLARE_ENUM_OPERATORS() [2/3]

System::Reflection::DECLARE_ENUM_OPERATORS ( System::Reflection::FieldAttributes  )

Declaration of template arithmetic operators for values of the FieldAttributes enum type.

◆ DECLARE_ENUM_OPERATORS() [3/3]

System::Reflection::DECLARE_ENUM_OPERATORS ( System::Reflection::MemberTypes  )