UnityExplorer/src/Extensions/ReflectionExtensions.cs
sinaioutlander 8949e3dc7d Revert "some early steps remaking the GUI with UnityEngine.UI, working in all tested game so far"
This reverts commit 4280a071f61ff0bdff713f7fb9970ee972af08a9.
2020-10-23 01:48:18 +11:00

42 lines
938 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Explorer.Helpers;
namespace Explorer
{
public static class ReflectionExtensions
{
#if CPP
public static object Il2CppCast(this object obj, Type castTo)
{
return ReflectionHelpers.Il2CppCast(obj, castTo);
}
#endif
public static IEnumerable<Type> TryGetTypes(this Assembly asm)
{
try
{
return asm.GetTypes();
}
catch (ReflectionTypeLoadException e)
{
try
{
return asm.GetExportedTypes();
}
catch
{
return e.Types.Where(t => t != null);
}
}
catch
{
return Enumerable.Empty<Type>();
}
}
}
}