diff --git a/Il2CppInspector.CLI/Il2CppInspector.CLI.csproj b/Il2CppInspector.CLI/Il2CppInspector.CLI.csproj
index 233a6ba..5f42189 100644
--- a/Il2CppInspector.CLI/Il2CppInspector.CLI.csproj
+++ b/Il2CppInspector.CLI/Il2CppInspector.CLI.csproj
@@ -10,11 +10,11 @@
win-x64
false
2023.1
- Noisy Cow Studios
- Il2CppInspector Command-Line Edition
- (c) 2017-2021 Katy Coe - www.djkaty.com - www.github.com/djkaty
- Il2CppInspector.CLI
- Katy Coe
+ LukeFZ, Noisy Cow Studios
+ Il2CppInspectorRedux Command-Line Edition
+ (c) 2023-2024 LukeFZ - https://github.com/LukeFZ, original (c) 2017-2021 Katy Coe - www.djkaty.com - www.github.com/djkaty
+ Il2CppInspectorRedux.CLI
+ LukeFZ, Katy Coe
Il2CppInspector
diff --git a/Il2CppInspector.Common/Reflection/TypeInfo.cs b/Il2CppInspector.Common/Reflection/TypeInfo.cs
index 02540d7..42088a2 100644
--- a/Il2CppInspector.Common/Reflection/TypeInfo.cs
+++ b/Il2CppInspector.Common/Reflection/TypeInfo.cs
@@ -414,10 +414,6 @@ namespace Il2CppInspector.Reflection
// Returns the minimally qualified type name required to refer to this type within the specified scope
private string getScopedFullName(Scope scope)
{
- // Generic type parameters take precedence over all other names, so if FullName is null (== generic) we can just return the name itself
- if (FullName == null)
- return this.Name;
-
// This is the type to be used (generic type parameters have a null FullName)
var usedType = FullName.Replace('+', '.');
@@ -581,8 +577,8 @@ namespace Il2CppInspector.Reflection
if (usingScope == null)
return CSharpName;
- // Generic parameters don't have a scope
- if (IsGenericParameter)
+ // Generic parameters (or generic arrays) don't have a scope
+ if (HasNoScope)
return CSharpName;
var s = Namespace + "." + base.Name;
@@ -716,6 +712,8 @@ namespace Il2CppInspector.Reflection
// Helper function for determining if using this type as a field, parameter etc. requires that field or method to be declared as unsafe
public bool RequiresUnsafeContext => IsPointer || (HasElementType && ElementType.RequiresUnsafeContext);
+ public bool HasNoScope => IsGenericParameter || (HasElementType && ElementType.HasNoScope);
+
// May get overridden by Il2CppType-based constructor below
public override MemberTypes MemberType { get; } = MemberTypes.TypeInfo;