I do not agree with your comment:
The CLR requires interface methods to be marked as virtual. Unless you explicitly mark a method as virtual in your source code, the compiler marks this method as virtual and sealed.
esp because you mentioned CLR Via C #, I'm sure you read incorrectly. The Bible cannot be wrong.
Edit: providing more details.
As suggested by others, you cannot have an access modifier (or virtual) in an interface member. By default (and by definition), all members within an interface are public and abstract.
source share