Ответ 1
Нет синтаксической разницы между реализацией интерфейса и наследованием классов. Просто перечислите все типы через запятую после двоеточия :
как показано здесь:
abstract class MySuperClass
interface MyInterface
class MyClass : MySuperClass(), MyInterface, Serializable
Наследование нескольких классов запрещено, в то время как несколько интерфейсов могут быть реализованы одним классом.