Java allows enums to be defined in an interface. C# does not allow this. In the end abstract classes were used to implement some of these java interfaces in C#. However, one limitation is that multiple inheritance does not work for abstract classes. For a good comparison between C# interfaces and abstract classes, check out this article
here.