TypeDelegator Class

Expand
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
This topic has not yet been rated - Rate this topic
.NET Framework Class Library

TypeDelegator Class

Wraps a System.Type object and delegates methods to that Type.

System.Object
  System.Reflection.MemberInfo
    System.Type
      System.Reflection.TypeDelegator

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class TypeDelegator : Type

The TypeDelegator type exposes the following members.

  Name Description
Protected method TypeDelegator Initializes a new instance of the TypeDelegator class with default properties.
Public method TypeDelegator(Type) Initializes a new instance of the TypeDelegator class specifying the encapsulating instance.
Top
  Name Description
Public property Assembly Gets the assembly of the implemented type. (Overrides Type.Assembly.)
Public property AssemblyQualifiedName Gets the assembly's fully qualified name. (Overrides Type.AssemblyQualifiedName.)
Public property Attributes Gets the attributes associated with the Type. (Inherited from Type.)
Public property BaseType Gets the base type for the current type. (Overrides Type.BaseType.)
Public property ContainsGenericParameters Gets a value indicating whether the current Type object has type parameters that have not been replaced by specific types. (Inherited from Type.)
Public property DeclaringMethod Gets a MethodBase that represents the declaring method, if the current Type represents a type parameter of a generic method. (Inherited from Type.)
Public property DeclaringType Gets the type that declares the current nested type or generic type parameter. (Inherited from Type.)
Public property FullName Gets the fully qualified name of the implemented type. (Overrides Type.FullName.)
Public property GenericParameterAttributes Gets a combination of GenericParameterAttributes flags that describe the covariance and special constraints of the current generic type parameter. (Inherited from Type.)
Public property GenericParameterPosition Gets the position of the type parameter in the type parameter list of the generic type or method that declared the parameter, when the Type object represents a type parameter of a generic type or a generic method. (Inherited from Type.)
Public property GUID Gets the GUID (globally unique identifier) of the implemented type. (Overrides Type.GUID.)
Public property HasElementType Gets a value indicating whether the current Type encompasses or refers to another type; that is, whether the current Type is an array, a pointer, or is passed by reference. (Inherited from Type.)
Public property IsAbstract Gets a value indicating whether the Type is abstract and must be overridden. (Inherited from Type.)
Public property IsAnsiClass Gets a value indicating whether the string format attribute AnsiClass is selected for the Type. (Inherited from Type.)
Public property IsArray Gets a value indicating whether the Type is an array. (Inherited from Type.)
Public property IsAutoClass Gets a value indicating whether the string format attribute AutoClass is selected for the Type. (Inherited from Type.)
Public property IsAutoLayout Gets a value indicating whether the class layout attribute AutoLayout is selected for the Type. (Inherited from Type.)
Public property IsByRef Gets a value indicating whether the Type is passed by reference. (Inherited from Type.)
Public property IsClass Gets a value indicating whether the Type is a class; that is, not a value type or interface. (Inherited from Type.)
Public property IsCOMObject Gets a value indicating whether the Type is a COM object. (Inherited from Type.)
Public property IsContextful Gets a value indicating whether the Type can be hosted in a context. (Inherited from Type.)
Public property IsEnum Gets a value indicating whether the current Type represents an enumeration. (Inherited from Type.)
Public property IsExplicitLayout Gets a value indicating whether the class layout attribute ExplicitLayout is selected for the Type. (Inherited from Type.)
Public property IsGenericParameter Gets a value indicating whether the current Type represents a type parameter in the definition of a generic type or method. (Inherited from Type.)
Public property IsGenericType Gets a value indicating whether the current type is a generic type. (Inherited from Type.)
Public property IsGenericTypeDefinition Gets a value indicating whether the current Type represents a generic type definition, from which other generic types can be constructed. (Inherited from Type.)
Public property IsImport Gets a value indicating whether the Type has a ComImportAttribute attribute applied, indicating that it was imported from a COM type library. (Inherited from Type.)
Public property IsInterface Gets a value indicating whether the Type is an interface; that is, not a class or a value type. (Inherited from Type.)
Public property IsLayoutSequential Gets a value indicating whether the class layout attribute SequentialLayout is selected for the Type. (Inherited from Type.)
Public property IsMarshalByRef Gets a value indicating whether the Type is marshaled by reference. (Inherited from Type.)
Public property IsNested Gets a value indicating whether the current Type object represents a type whose definition is nested inside the definition of another type. (Inherited from Type.)
Public property IsNestedAssembly Gets a value indicating whether the Type is nested and visible only within its own assembly. (Inherited from Type.)
Public property IsNestedFamANDAssem Gets a value indicating whether the Type is nested and visible only to classes that belong to both its own family and its own assembly. (Inherited from Type.)
Public property IsNestedFamily Gets a value indicating whether the Type is nested and visible only within its own family. (Inherited from Type.)
Public property IsNestedFamORAssem Gets a value indicating whether the Type is nested and visible only to classes that belong to either its own family or to its own assembly. (Inherited from Type.)
Public property IsNestedPrivate Gets a value indicating whether the Type is nested and declared private. (Inherited from Type.)
Public property IsNestedPublic Gets a value indicating whether a class is nested and declared public. (Inherited from Type.)
Public property IsNotPublic Gets a value indicating whether the Type is not declared public. (Inherited from Type.)
Public property IsPointer Gets a value indicating whether the Type is a pointer. (Inherited from Type.)
Public property IsPrimitive Gets a value indicating whether the Type is one of the primitive types. (Inherited from Type.)
Public property IsPublic Gets a value indicating whether the Type is declared public. (Inherited from Type.)
Public property IsSealed Gets a value indicating whether the Type is declared sealed. (Inherited from Type.)
Public property IsSecurityCritical Gets a value that indicates whether the current type is security-critical or security-safe-critical at the current trust level, and therefore can perform critical operations. (Inherited from Type.)
Public property IsSecuritySafeCritical Gets a value that indicates whether the current type is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code. (Inherited from Type.)
Public property IsSecurityTransparent Gets a value that indicates whether the current type is transparent at the current trust level, and therefore cannot perform critical operations. (Inherited from Type.)
Public property IsSerializable Gets a value indicating whether the Type is serializable. (Inherited from Type.)
Public property IsSpecialName Gets a value indicating whether the Type has a name that requires special handling. (Inherited from Type.)
Public property IsUnicodeClass Gets a value indicating whether the string format attribute UnicodeClass is selected for the Type. (Inherited from Type.)
Public property IsValueType Gets a value indicating whether the Type is a value type. (Inherited from Type.)
Public property IsVisible Gets a value indicating whether the Type can be accessed by code outside the assembly. (Inherited from Type.)
Public property MemberType Gets a MemberTypes value indicating that this member is a type or a nested type. (Inherited from Type.)
Public property MetadataToken Gets a value that identifies this entity in metadata. (Overrides MemberInfo.MetadataToken.)
Public property Module Gets the module that contains the implemented type. (Overrides Type.Module.)
Public property Name Gets the name of the implemented type, with the path removed. (Overrides MemberInfo.Name.)
Public property Namespace Gets the namespace of the implemented type. (Overrides Type.Namespace.)
Public property ReflectedType Gets the class object that was used to obtain this member. (Inherited from Type.)
Public property StructLayoutAttribute Gets a StructLayoutAttribute that describes the layout of the current type. (Inherited from Type.)
Public property TypeHandle Gets a handle to the internal metadata representation of an implemented type. (Overrides Type.TypeHandle.)
Public property TypeInitializer Gets the initializer for the Type. (Inherited from Type.)
Public property UnderlyingSystemType Gets the underlying Type that represents the implemented type. (Overrides Type.UnderlyingSystemType.)
Top
  Name Description
Public method Equals(Object) Determines if the underlying system type of the current Type is the same as the underlying system type of the specified Object. (Inherited from Type.)
Public method Equals(Type) Determines if the underlying system type of the current Type is the same as the underlying system type of the specified Type. (Inherited from Type.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method FindInterfaces Returns an array of Type objects representing a filtered list of interfaces implemented or inherited by the current Type. (Inherited from Type.)
Public method FindMembers Returns a filtered array of MemberInfo objects of the specified member type. (Inherited from Type.)
Public method GetArrayRank Gets the number of dimensions in an Array. (Inherited from Type.)
Protected method GetAttributeFlagsImpl Gets the attributes assigned to the TypeDelegator. (Overrides Type.GetAttributeFlagsImpl.)
Public method GetConstructor(Type()) Searches for a public instance constructor whose parameters match the types in the specified array. (Inherited from Type.)
Public method GetConstructor(BindingFlags, Binder, Type(), ParameterModifier()) Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints. (Inherited from Type.)
Public method GetConstructor(BindingFlags, Binder, CallingConventions, Type(), ParameterModifier()) Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. (Inherited from Type.)
Protected method GetConstructorImpl Gets the constructor that implemented the TypeDelegator. (Overrides Type.GetConstructorImpl(BindingFlags, Binder, CallingConventions, Type(), ParameterModifier()).)
Public method GetConstructors Returns all the public constructors defined for the current Type. (Inherited from Type.)
Public method GetConstructors(BindingFlags) Returns an array of ConstructorInfo objects representing constructors defined for the type wrapped by the current TypeDelegator. (Overrides Type.GetConstructors(BindingFlags).)
Public method GetCustomAttributes(Boolean) Returns all the custom attributes defined for this type, specifying whether to search the type's inheritance chain. (Overrides MemberInfo.GetCustomAttributes(Boolean).)
Public method GetCustomAttributes(Type, Boolean) Returns an array of custom attributes identified by type. (Overrides MemberInfo.GetCustomAttributes(Type, Boolean).)
Public method GetCustomAttributesData Returns a list of CustomAttributeData objects representing data about the attributes that have been applied to the target member. (Inherited from MemberInfo.)
Public method GetDefaultMembers Searches for the members defined for the current Type whose DefaultMemberAttribute is set. (Inherited from Type.)
Public method GetElementType Returns the Type of the object encompassed or referred to by the current array, pointer or ByRef. (Overrides Type.GetElementType.)
Public method GetEnumName Returns the name of the constant that has the specified value, for the current enumeration type. (Inherited from Type.)
Public method GetEnumNames Returns the names of the members of the current enumeration type. (Inherited from Type.)
Public method GetEnumUnderlyingType Returns the underlying type of the current enumeration type. (Inherited from Type.)
Public method GetEnumValues Returns an array of the values of the constants in the current enumeration type. (Inherited from Type.)
Public method GetEvent(String) Returns the EventInfo object representing the specified public event. (Inherited from Type.)
Public method GetEvent(String, BindingFlags) Returns the specified event. (Overrides Type.GetEvent(String, BindingFlags).)
Public method GetEvents Returns an array of EventInfo objects representing all the public events declared or inherited by the current TypeDelegator. (Overrides Type.GetEvents.)
Public method GetEvents(BindingFlags) Returns the events specified in bindingAttr that are declared or inherited by the current TypeDelegator. (Overrides Type.GetEvents(BindingFlags).)
Public method GetField(String) Searches for the public field with the specified name. (Inherited from Type.)
Public method GetField(String, BindingFlags) Returns a FieldInfo object representing the field with the specified name. (Overrides Type.GetField(String, BindingFlags).)
Public method GetFields Returns all the public fields of the current Type. (Inherited from Type.)
Public method GetFields(BindingFlags) Returns an array of FieldInfo objects representing the data fields defined for the type wrapped by the current TypeDelegator. (Overrides Type.GetFields(BindingFlags).)
Public method GetGenericArguments Returns an array of Type objects that represent the type arguments of a generic type or the type parameters of a generic type definition. (Inherited from Type.)
Public method GetGenericParameterConstraints Returns an array of Type objects that represent the constraints on the current generic type parameter. (Inherited from Type.)
Public method GetGenericTypeDefinition Returns a Type object that represents a generic type definition from which the current generic type can be constructed. (Inherited from Type.)
Public method GetHashCode Returns the hash code for this instance. (Inherited from Type.)
Public method GetInterface(String) Searches for the interface with the specified name. (Inherited from Type.)
Public method GetInterface(String, Boolean) Returns the specified interface implemented by the type wrapped by the current TypeDelegator. (Overrides Type.GetInterface(String, Boolean).)
Public method GetInterfaceMap Returns an interface mapping for the specified interface type. (Overrides Type.GetInterfaceMap(Type).)
Public method GetInterfaces Returns all the interfaces implemented on the current class and its base classes. (Overrides Type.GetInterfaces.)
Public method GetMember(String) Searches for the public members with the specified name. (Inherited from Type.)
Public method GetMember(String, BindingFlags) Searches for the specified members, using the specified binding constraints. (Inherited from Type.)
Public method GetMember(String, MemberTypes, BindingFlags) Returns members (properties, methods, constructors, fields, events, and nested types) specified by the given name, type, and bindingAttr. (Overrides Type.GetMember(String, MemberTypes, BindingFlags).)
Public method GetMembers Returns all the public members of the current Type. (Inherited from Type.)
Public method GetMembers(BindingFlags) Returns members specified by bindingAttr. (Overrides Type.GetMembers(BindingFlags).)
Public method GetMethod(String) Searches for the public method with the specified name. (Inherited from Type.)
Public method GetMethod(String, BindingFlags) Searches for the specified method, using the specified binding constraints. (Inherited from Type.)
Public method GetMethod(String, Type()) Searches for the specified public method whose parameters match the specified argument types. (Inherited from Type.)
Public method GetMethod(String, Type(), ParameterModifier()) Searches for the specified public method whose parameters match the specified argument types and modifiers. (Inherited from Type.)
Public method GetMethod(String, BindingFlags, Binder, Type(), ParameterModifier()) Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints. (Inherited from Type.)
Public method GetMethod(String, BindingFlags, Binder, CallingConventions, Type(), ParameterModifier()) Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. (Inherited from Type.)
Protected method GetMethodImpl Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. (Overrides Type.GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type(), ParameterModifier()).)
Public method GetMethods Returns all the public methods of the current Type. (Inherited from Type.)
Public method GetMethods(BindingFlags) Returns an array of MethodInfo objects representing specified methods of the type wrapped by the current TypeDelegator. (Overrides Type.GetMethods(BindingFlags).)
Public method GetNestedType(String) Searches for the public nested type with the specified name. (Inherited from Type.)
Public method GetNestedType(String, BindingFlags) Returns a nested type specified by name and in bindingAttr that are declared or inherited by the type represented by the current TypeDelegator. (Overrides Type.GetNestedType(String, BindingFlags).)
Public method GetNestedTypes Returns the public types nested in the current Type. (Inherited from Type.)
Public method GetNestedTypes(BindingFlags) Returns the nested types specified in bindingAttr that are declared or inherited by the type wrapped by the current TypeDelegator. (Overrides Type.GetNestedTypes(BindingFlags).)
Public method GetProperties Returns all the public properties of the current Type. (Inherited from Type.)
Public method GetProperties(BindingFlags) Returns an array of PropertyInfo objects representing properties of the type wrapped by the current TypeDelegator. (Overrides Type.GetProperties(BindingFlags).)
Public method GetProperty(String) Searches for the public property with the specified name. (Inherited from Type.)
Public method GetProperty(String, BindingFlags) Searches for the specified property, using the specified binding constraints. (Inherited from Type.)
Public method GetProperty(String, Type) Searches for the public property with the specified name and return type. (Inherited from Type.)
Public method GetProperty(String, Type()) Searches for the specified public property whose parameters match the specified argument types. (Inherited from Type.)
Public method GetProperty(String, Type, Type()) Searches for the specified public property whose parameters match the specified argument types. (Inherited from Type.)
Public method GetProperty(String, Type, Type(), ParameterModifier()) Searches for the specified public property whose parameters match the specified argument types and modifiers. (Inherited from Type.)
Public method GetProperty(String, BindingFlags, Binder, Type, Type(), ParameterModifier()) Searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints. (Inherited from Type.)
Protected method GetPropertyImpl When overridden in a derived class, searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints. (Overrides Type.GetPropertyImpl(String, BindingFlags, Binder, Type, Type(), ParameterModifier()).)
Public method GetType Gets the current Type. (Inherited from Type.)
Protected method GetTypeCodeImpl Returns the underlying type code of the specified Type. (Inherited from Type.)
Protected method HasElementTypeImpl Gets a value indicating whether the current Type encompasses or refers to another type; that is, whether the current Type is an array, a pointer or a ByRef. (Overrides Type.HasElementTypeImpl.)
Public method InvokeMember(String, BindingFlags, Binder, Object, Object()) Invokes the specified member, using the specified binding constraints and matching the specified argument list. (Inherited from Type.)
Public method InvokeMember(String, BindingFlags, Binder, Object, Object(), CultureInfo) Invokes the specified member, using the specified binding constraints and matching the specified argument list and culture. (Inherited from Type.)
Public method InvokeMember(String, BindingFlags, Binder, Object, Object(), ParameterModifier(), CultureInfo, String()) Invokes the specified member. The method that is to be invoked must be accessible and provide the most specific match with the specified argument list, under the constraints of the specified binder and invocation attributes. (Overrides Type.InvokeMember(String, BindingFlags, Binder, Object, Object(), ParameterModifier(), CultureInfo, String()).)
Protected method IsArrayImpl Gets a value indicating whether the Type is an array. (Overrides Type.IsArrayImpl.)
Public method IsAssignableFrom Determines whether an instance of the current Type can be assigned from an instance of the specified Type. (Inherited from Type.)
Protected method IsByRefImpl Gets a value indicating whether the Type is passed by reference. (Overrides Type.IsByRefImpl.)
Protected method IsCOMObjectImpl Gets a value indicating whether the Type is a COM object. (Overrides Type.IsCOMObjectImpl.)
Protected method IsContextfulImpl Implements the IsContextful property and determines whether the Type can be hosted in a context. (Inherited from Type.)
Public method IsDefined Indicates whether a custom attribute identified by attributeType is defined. (Overrides MemberInfo.IsDefined(Type, Boolean).)
Public method IsEnumDefined Returns a value that indicates whether the specified value exists in the current enumeration type. (Inherited from Type.)
Public method IsEquivalentTo Determines whether two COM types have the same identity and are eligible for type equivalence. (Inherited from Type.)
Public method IsInstanceOfType Determines whether the specified object is an instance of the current Type. (Inherited from Type.)
Protected method IsMarshalByRefImpl Implements the IsMarshalByRef property and determines whether the Type is marshaled by reference. (Inherited from Type.)
Protected method IsPointerImpl Gets a value indicating whether the Type is a pointer. (Overrides Type.IsPointerImpl.)
Protected method IsPrimitiveImpl Gets a value indicating whether the Type is one of the primitive types. (Overrides Type.IsPrimitiveImpl.)
Public method IsSubclassOf Determines whether the class represented by the current Type derives from the class represented by the specified Type. (Inherited from Type.)
Protected method IsValueTypeImpl Gets a value indicating whether the type is a value type; that is, not a class or an interface. (Overrides Type.IsValueTypeImpl.)
Public method MakeArrayType Returns a Type object representing a one-dimensional array of the current type, with a lower bound of zero. (Inherited from Type.)
Public method MakeArrayType(Int32) Returns a Type object representing an array of the current type, with the specified number of dimensions. (Inherited from Type.)
Public method MakeByRefType Returns a Type object that represents the current type when passed as a ref parameter (ByRef parameter in Visual Basic). (Inherited from Type.)
Public method MakeGenericType Substitutes the elements of an array of types for the type parameters of the current generic type definition and returns a Type object representing the resulting constructed type. (Inherited from Type.)
Public method MakePointerType Returns a Type object that represents a pointer to the current type. (Inherited from Type.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a String representing the name of the current Type. (Inherited from Type.)
Top
  Name Description
Protected field typeImpl A value indicating type information.
Top
  Name Description
Explicit interface implemetation Private method _MemberInfo.GetIDsOfNames Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from MemberInfo.)
Explicit interface implemetation Private method _MemberInfo.GetType Gets a Type object representing the MemberInfo class. (Inherited from MemberInfo.)
Explicit interface implemetation Private method _MemberInfo.GetTypeInfo Retrieves the type information for an object, which can then be used to get the type information for an interface. (Inherited from MemberInfo.)
Explicit interface implemetation Private method _MemberInfo.GetTypeInfoCount Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from MemberInfo.)
Explicit interface implemetation Private method _MemberInfo.Invoke Provides access to properties and methods exposed by an object. (Inherited from MemberInfo.)
Explicit interface implemetation Private method _Type.GetIDsOfNames Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Type.)
Explicit interface implemetation Private method _Type.GetTypeInfo Retrieves the type information for an object, which can then be used to get the type information for an interface. (Inherited from Type.)
Explicit interface implemetation Private method _Type.GetTypeInfoCount Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Type.)
Explicit interface implemetation Private method _Type.Invoke Provides access to properties and methods exposed by an object. (Inherited from Type.)
Top

Derive from this type and override only those members you have to provide customization in, plus any members that are required by your program and not already implemented by TypeDelegator.

TypeDelegator derives from System.Type and implements most of the properties and methods of Type. For each member it implements, TypeDelegator automatically delegates to the corresponding member of an internal Type object, which is supplied as an argument to the constructor. This internal Type object is exposed to deriving classes by the protected typeImpl field.

Note Note

Some members of TypeDelegator have implementations even though the members themselves are simply inherited from Type. In these cases, the implementation is provided by an overridden protected method that has a name that ends in "Impl". For example, the implementation for all overloads of the GetMethod method is supplied by the overridden GetMethodImpl method. The implementation for inherited properties such as IsPublic and IsNestedAssembly is provided by the overridden GetAttributeFlagsImpl method.

Deriving classes can provide a public constructor that takes a Type object as its parameter and simply passes that object to the TypeDelegator(Type) constructor, or can set the internal Type object in some other way.

If a deriving class uses a member that is not implemented by TypeDelegator, it must override that member and provide an implementation. The simplest implementation is to call the corresponding member on the internal Type object exposed by the typeImpl field, but you can provide any implementation your application requires. It is not necessary to override these members if they are not used by your application or by library functions your application calls (for example, by the CodeTypeReference.CodeTypeReference(Type) constructor).

The following virtual methods (Overridable methods in Visual Basic) of Type are not implemented by TypeDelegator: MakeGenericType, GetGenericTypeDefinition, GetGenericArguments, GetGenericParameterConstraints, MakeArrayType, MakeByRefType, MakePointerType, GetEnumNames, GetEnumValues, GetEnumUnderlyingType, GetTypeCodeImpl, IsEnumDefined, IsEquivalentTo.

The following virtual properties (Overridable properties in Visual Basic) of Type are not implemented by TypeDelegator: IsGenericType, IsGenericTypeDefinition, IsGenericParameter, ContainsGenericParameters, DeclaringMethod, GenericParameterAttributes, GenericParameterPosition, IsSecurityCritical, IsSecuritySafeCritical, IsSecurityTransparent.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Additions ADD