When a method returns an object (either as an actual return or as an out parameter), the type of that object should be the exact type, which might be derived from specified return type.
For example, consider this Mono method:
public static Stream GetStream() => new MemoryStream();
When when the Il2Cpp wrapper is called by a modder, we want it to return Il2CppSystem.IO.MemoryStream, not Il2CppSystem.IO.Stream.
This requires #142 and #143.
When a method returns an object (either as an actual return or as an out parameter), the type of that object should be the exact type, which might be derived from specified return type.
For example, consider this Mono method:
When when the Il2Cpp wrapper is called by a modder, we want it to return
Il2CppSystem.IO.MemoryStream, notIl2CppSystem.IO.Stream.This requires #142 and #143.