Liskov替代原理是什么?如何在C#中实现?