C#에서는 클래스끼리 다중상속을 허용하지 않는다. 이는 다중상속 시 복잡성과 모호성이 문제될 수 있다. 클래스 A를 상속 받은 클래스 B와 C가 있다 했을 때,클래스 D는 B와 C를 모두 상속 받는 경우를 다이아몬드 같이 생겼다 해서, 다이아몬드 상속 구조라고 한다. 이렇게 되었을 때 클래스 D는 A 클래스를 두 번 상속받게 되어 어느 A 클래스를 사용할지 모호해지는 문제점이 발생한다.
C#에서는 클래스끼리의 다중상속을 허용하지 않아 해당 문제가 발생하지 않지만 다중상속이 필요할 경우에는 클래스의 메서드와 속성만 정의하고 구현은 없는 인터페이스를 사용해 해결할 수 있다.
이를 통해 다중상속의 장점을 가지면서 동시에 안정적인 코드의 작성이 가능하다.