sealed interface c#