BepInEx / Il2CppInterop

A tool interoperate between CoreCLR and Il2Cpp at runtime
GNU Lesser General Public License v3.0
185 stars 59 forks source link

Fix class injector abstract method handling #134

Open WNP78 opened 1 month ago

WNP78 commented 1 month ago

The class injector does checking on abstract methods to match parameter names and types of implemented methods, but the ParameterInfo struct and hence the name field was removed in newer versions of IL2CPP. This is an easy fix because the IL2CPP API has a method to get the name of a parameter from the MethodInfo and index.

Kasuromi commented 1 month ago

Using the method signature is better to solve this exact issue, though we need to also see about how we'll handle ParameterInfo not being present in newer il2cpp versions.

Either way, if we switch this to use everything that is part of the method signature this would be good for merging.