alttester / alttester/AltTester-Unity-SDK
Setting a nested property results in error: Unable to cast object of type 'RuntimePropertyInfo' to type 'FieldInfo'
- Dominant language
- C#
- Stars
- 121
- Forks
- 24
- PR merge metrics
- No merged PRs in 30d
Description
Setting a nested property results in error.
Scenario: Call set_component_property(component_name, 'field.Property.Property', value)
Recursively assigning values from the innermost property, AltUnity ignores the possibility of the intermediate property being of type RuntimePropertyInfo, and therefore ends up casting it to FieldInfo which results in the following error:
```
altunityrunner.altUnityExceptions.UnknownErrorException: error:unknownError
Unable to cast object of type 'RuntimePropertyInfo' to type 'FieldInfo'.
```
Code block that causes the issue:
```
AltUnityReflectionMethodsCommand.cs:setValueRecursive()
if (memberInfo.GetType().Equals(typeof(PropertyInfo)))
{
((PropertyInfo)memberInfo).SetValue(instance, valueObtained);
}
else
{
((FieldInfo)memberInfo).SetValue(instance, valueObtained);
}
```
---
You can find the original issue from GitLab [here](https://gitlab.com/altom/altunity/altunitytester/-/issues/857).
Contributor guide
Assessment
This issue has not been assessed yet.