Skip to content

Instantly share code, notes, and snippets.

@jaredpar
Created January 8, 2021 20:43
Show Gist options
  • Select an option

  • Save jaredpar/bfcd8b3ce152d351535f39f2f0a9fa0d to your computer and use it in GitHub Desktop.

Select an option

Save jaredpar/bfcd8b3ce152d351535f39f2f0a9fa0d to your computer and use it in GitHub Desktop.
Immo said my infinite loop wasn't creative enough so ha!
using System;
using System.Reflection;
namespace ChallengeAccepted
{
class Program
{
static void Main(string[] args)
{
var ca = new ChallengeAccepted();
ca.Chaos();
ca.Loop();
}
}
class ChallengeAccepted
{
public void DontLoop()
{
Console.WriteLine("whew, didn't loop");
}
public void Loop()
{
Console.WriteLine("why am i looping");
dynamic d = this;
d.DontLoop();
d.DontLoop();
}
public void Chaos()
{
dynamic d = this;
d.Loop();
d.Loop();
var types = typeof(ChallengeAccepted).GetNestedTypes(BindingFlags.NonPublic);
var fieldsLoop = types[0].GetFields(BindingFlags.Public | BindingFlags.Static);
var fieldsChaos = types[1].GetFields(BindingFlags.Public | BindingFlags.Static);
fieldsLoop[0].SetValue(null, fieldsChaos[0].GetValue(null));
fieldsLoop[1].SetValue(null, fieldsChaos[1].GetValue(null));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment