An abstract class indeed behaves like a normal class in IL, the only difference is the added abstract
flag/keyword.
A generic public class in IL looks like this (without body)
.class public auto ansi beforefieldinit
NAMESPACE.CLASS_NAME
extends [mscorlib]System.Object
an abstract class looks like this
.class public abstract auto ansi beforefieldinit
NAMESPACE.CLASS_NAME
extends [mscorlib]System.Object
I can recommend you creating test assemblys and browsing them with dotPeek from JetBrains (its a free tool). You can look trough the code and the IL code at the same time.