c#委托解决循环引用