Skip to content
This repository was archived by the owner on May 9, 2023. It is now read-only.

Commit f1ca484

Browse files
committed
Fix generic arguments for parameterless struct ctors
1 parent 3b71b40 commit f1ca484

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/CacheObject/CacheConstructor.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ public CacheConstructor(Type typeForStructConstructor)
3030

3131
public override void SetInspectorOwner(ReflectionInspector inspector, MemberInfo member)
3232
{
33+
Type ctorReturnType;
3334
// if is parameterless struct ctor
3435
if (typeForStructConstructor != null)
3536
{
37+
ctorReturnType = typeForStructConstructor;
3638
this.Owner = inspector;
3739

3840
// eg. Vector3.Vector3()
@@ -43,12 +45,16 @@ public override void SetInspectorOwner(ReflectionInspector inspector, MemberInfo
4345
this.NameLabelTextRaw = NameForFiltering;
4446
return;
4547
}
48+
else
49+
{
50+
base.SetInspectorOwner(inspector, member);
4651

47-
base.SetInspectorOwner(inspector, member);
48-
49-
Arguments = CtorInfo.GetParameters();
50-
if (CtorInfo.DeclaringType.IsGenericTypeDefinition)
51-
GenericArguments = CtorInfo.DeclaringType.GetGenericArguments();
52+
Arguments = CtorInfo.GetParameters();
53+
ctorReturnType = CtorInfo.DeclaringType;
54+
}
55+
56+
if (ctorReturnType.IsGenericTypeDefinition)
57+
GenericArguments = ctorReturnType.GetGenericArguments();
5258
}
5359

5460
protected override object TryEvaluate()

0 commit comments

Comments
 (0)