Files
2020-09-03 06:46:28 +02:00

79 lines
1.8 KiB
C#

/*
Copyright 2017-2019 Katy Coe - http://www.djkaty.com - https://github.com/djkaty
All rights reserved.
*/
using System.Text;
namespace Il2CppTests.TestSources
{
internal class Test
{
// A virtual method
public virtual void VirtualMethod() { }
// Method with value type return type
public double ValueTypeReturnMethod() => 1.DivideByXExtension(2.0f);
// Method with reference type return type
public StringBuilder ReferenceTypeReturnMethod() => new StringBuilder();
}
public static class TestExtension
{
// Extension method on int
public static double DivideByXExtension(this int a, float x) => (double) a / x;
}
internal abstract class TestAbstract
{
public abstract void AbstractMethod();
}
internal class TestOverride : Test
{
public override void VirtualMethod() { }
}
internal class TestHideVirtual : Test
{
public new void VirtualMethod() { }
}
internal class TestHideOverride : TestOverride
{
public new void VirtualMethod() { }
}
internal class TestOverrideAbstract : TestAbstract
{
public override void AbstractMethod() { }
}
internal class TestHideAbstractOverride : TestOverrideAbstract
{
public new void AbstractMethod() { }
}
internal class TestHideVirtualAndNewVirtual : Test
{
public new virtual void VirtualMethod() { }
}
internal class TestHideOverrideAndNewVirtual : TestOverride
{
public new virtual void VirtualMethod() { }
}
internal abstract class TestAbstractNew : TestOverride
{
public abstract new void VirtualMethod();
}
internal class TestNewNonVirtualMethod : Test
{
public new int ValueTypeReturnMethod() => 1;
}
}