日期:2014-05-18  浏览次数:21065 次

如何将Object的对象转换成其他类型的Class
懒得在重头去查文档学习,平时编程的时间就很紧,事情是这样:

// 一个BsonDocument对象book

  BsonDocument book = new BsonDocument{
  //{"author", "author name"},
  //{"title", "For Whom the Bell Tolls"}
  };

// 从数据库返回一个与book类型一样的对象

  System.Type typeBook = book.GetType();
  Object bookTemp = mongoCollection.FindOneAs(typeBook);

然后我应该怎么把这个Object bookTemp转换成BsonDocument类型的对象呢?我不想一个属性一个属性提取赋值

------解决方案--------------------
此时就看出面向抽象编程的重要性了,如果你这个所谓的一样的类型实现了IBook借口那就ok,即使没实现,只要做个Adapter亦可以方便搞定。
// 从数据库返回一个与book类型一样的对象

System.Type typeBook = book.GetType();
Object bookTemp = mongoCollection.FindOneAs(typeBook);