BuildSignatureForDebugInspector
(
memberInfo
)
|
Builds a formatted signature string for display in the debug inspector UI.
This method creates human-readable signatures that include access modifiers, types, and member names with HTML formatting for rich text display in debugging interfaces.
Signature
static string BuildSignatureForDebugInspector(this MemberInfo memberInfo) Parameters memberInfo: this MemberInfoÂ
The MemberInfo to create a signature for
Returns stringÂ
A formatted HTML string representing the member signature
|
CanBeChanged
(
memberInfo
)
|
Determines whether a member can be modified (is settable).
This method provides a quick way to check if a member supports value modification, which is essential for determining which members can be tweaked in debugging interfaces.
Signature
static bool CanBeChanged(this MemberInfo memberInfo) Parameters memberInfo: this MemberInfoÂ
The MemberInfo to check
Returns boolÂ
True if the member is a field or property that can potentially be changed, false otherwise
|
GetDataType
(
memberInfo
)
|
Gets the data type of a field or property.
This method provides a unified way to retrieve the type information from both fields and properties, which is essential for type-safe operations and UI generation.
Signature
static Type GetDataType(this MemberInfo memberInfo) Parameters memberInfo: this MemberInfoÂ
The MemberInfo representing the field or property
Returns TypeÂ
The Type of the field or property, or null if the member is not a field or property
|
GetValue
(
memberInfo
, instance
)
|
Gets the value of a field or property from the specified instance.
This method provides a unified way to retrieve values from both fields and properties, handling the underlying reflection differences automatically.
Signature
static object GetValue(this MemberInfo memberInfo, object instance) Parameters memberInfo: this MemberInfoÂ
The MemberInfo representing the field or property to read from
instance: objectÂ
The object instance to read the value from
Returns objectÂ
The value of the member, or null if the member cannot be read or an error occurs
|
IsBaseTypeEqual
(
member
, type
)
|
Determines whether a field or property's base type matches the specified type.
This method checks if the member's type inherits from or has the specified base type, which is useful for inheritance-based filtering and polymorphic operations.
Signature
static bool IsBaseTypeEqual(this MemberInfo member, Type type) Parameters member: this MemberInfoÂ
The MemberInfo to check
type: TypeÂ
The base Type to compare against
Returns boolÂ
True if the member's base type matches the specified type, false otherwise
|
IsCompatibleWithDebugInspector
(
memberInfo
)
|
Determines whether a member is compatible with the Immersive Debugger's inspection system.
This method applies comprehensive filtering to determine if a member should be exposed in debugging interfaces. It's a core method used throughout the Immersive Debugger to ensure only appropriate members are shown to users and AI agents.
Signature
static bool IsCompatibleWithDebugInspector(this MemberInfo memberInfo) Parameters memberInfo: this MemberInfoÂ
The MemberInfo to check for compatibility
Returns boolÂ
True if the member is compatible with debug inspection, false otherwise
|
IsPublic
(
memberInfo
)
|
Determines whether a field, property, or method is public.
This method provides a unified way to check accessibility across different member types, which is crucial for filtering members that should be exposed in debugging interfaces.
Signature
static bool IsPublic(this MemberInfo memberInfo) Parameters memberInfo: this MemberInfoÂ
The MemberInfo to check
Returns boolÂ
True if the member is public, false otherwise
|
IsStatic
(
memberInfo
)
|
Determines whether a field, property, or method is static.
This method provides a unified way to check if a member is static across different member types, which is important for determining how to access the member (instance vs static access).
Signature
static bool IsStatic(this MemberInfo memberInfo) Parameters memberInfo: this MemberInfoÂ
The MemberInfo to check
Returns boolÂ
True if the member is static, false otherwise
|
IsTypeEqual
(
member
, type
)
|
Determines whether a field or property has the exact specified type.
This method provides a unified way to check if a member's type matches exactly with a given type, which is useful for type-specific filtering and operations.
Signature
static bool IsTypeEqual(this MemberInfo member, Type type) Parameters member: this MemberInfoÂ
The MemberInfo to check
type: TypeÂ
The Type to compare against
Returns boolÂ
True if the member's type exactly matches the specified type, false otherwise
|
SetValue
(
memberInfo
, instance
, value
)
|
Sets the value of a field or property on the specified instance.
This method provides a unified way to modify values for both fields and properties, handling the underlying reflection differences automatically. It's essential for runtime tweaking and dynamic component modification in debugging scenarios.
Signature
static void SetValue(this MemberInfo memberInfo, object instance, object value) Parameters memberInfo: this MemberInfoÂ
The MemberInfo representing the field or property to write to
instance: objectÂ
The object instance to modify
value: objectÂ
The new value to assign to the member
Returns void |