interface IXXX { void Foo(); } class XXX : IXXX { public static void Foo() { Console.WriteLine(\"From XXX\"); } } class Program { static
You use interface to avoid using concrete class during instantiation. You can't access static method through instantiated class, so implementing interface methods with static methods is not allowed.