什么是代理设计模式,以及如何在C#中实现它?