Hacking C# From the Inside

C# is compiled to intermediate language, strongly typed, and garbage collected language. Let’s abuse all these elements — we will emit machine code directly, abuse type system, override sealed types, hide objects from GC, all of that directly in the C# language without using external tools.
We’ll see real life scenarios where these things are used and that sometimes “one hacky line” saves us hours of debugging. Based on multiple examples, some are level 200, some are level 400, all of them are worth knowing about.

speaker photo

Adam Furmanek

I am Adam Furmanek and I am a professional software engineer for almost a decade. Right now I am at Amazon working with Big Data, Spark, and Machine Learning. I am always interested in digging deeper, exploring machine code and going through implementation details to better understand internals of the technologies I use every day. That's why I like debugging, decompiling and disassembling the code to understand memory models, concurrency problems and other details hidden deeply inside. In my free time I play ping-pong, watch Woody Allen's movies and blog stuff at http://blog.adamfurmanek.pl