本文整理汇总了C#中Book.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# Book.GetType方法的具体用法?C# Book.GetType怎么用?C# Book.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Book
的用法示例。
在下文中一共展示了Book.GetType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Save
public void Save(Book book)
{
Console.WriteLine("=========Save========");
foreach (var item in book.GetType().GetProperties())
{
Console.WriteLine(item.GetValue(book, null));
}
}
示例2: Parse
//This function converts an FB2 book to book type Book.
//It can be either just book info or full book with content.
public void Parse(ref Book book)
{
var xdoc = XDocument.Load(book.BookPath);
if (xdoc.Root.Name.LocalName != "FictionBook")
return;
var nodes = xdoc.Root.Elements();
var titleInfo = nodes.Where(x => x.Name.LocalName == "description").SingleOrDefault()
.Elements().Where(x => x.Name.LocalName == "title-info").SingleOrDefault().Elements();
book.Title = titleInfo.Where(x => x.Name.LocalName == "book-title").SingleOrDefault().Value;
var author = titleInfo.Where(x => x.Name.LocalName == "author").SingleOrDefault();
book.Author = Has("first-name", author) ?
(author.Elements().Where(x => x.Name.LocalName == "first-name").SingleOrDefault().Value
+ (Has("middle-name", author) ? " " + author.Elements().Where(x => x.Name.LocalName == "middle-name").SingleOrDefault().Value : "")
+ " " + author.Elements().Where(x => x.Name.LocalName == "last-name").SingleOrDefault().Value) :
(Has("nickname", author) ? (author.Elements().Where(x => x.Name.LocalName == "nickname").SingleOrDefault().Value) : "Unknown");
book.Cover = Has("binary",nodes) ? nodes.Where(x => x.Name.LocalName == "binary").First().Value : "";
book.ID = nodes.Where(x => x.Name.LocalName == "description").SingleOrDefault().Elements()
.Where(x => x.Name.LocalName == "document-info").SingleOrDefault().Elements()
.Where(x => x.Name.LocalName == "id").SingleOrDefault().Value;
if (!book.GetType().Equals(typeof(BookFullModel)))
return;
((BookFullModel)book).Annotation = Has("annotation", titleInfo)
? GetFormattedString(titleInfo.Where(x => x.Name.LocalName == "annotation").SingleOrDefault().Elements()) : "";
((BookFullModel)book).Language = titleInfo.Where(x => x.Name.LocalName == "lang").SingleOrDefault().Value;
((BookFullModel)book).Year = Has("date",titleInfo)?titleInfo.Where(x => x.Name.LocalName == "date").SingleOrDefault().Value:"";
((BookFullModel)book).Genres =
new List<string>(titleInfo.Where(x => x.Name.LocalName == "genre").Select(x => GetGenre(x.Value)));
((BookFullModel)book).Chapters = new List<ChapterModel>(nodes.Where(x => x.Name.LocalName == "body").Elements()
.Where(x => x.Name.LocalName == "section").Select(x => new ChapterModel()
{
Title = Has("title", x) ?
GetFormattedString(x.Elements().Where(y => y.Name.LocalName == "title").SingleOrDefault().Elements()) : "",
Content = GetFormattedString(x.Elements())
}));
}
示例3: TestMethod1
public void TestMethod1()
{
Book abook = new Book();
//Here's an instance of our type to serialize
abook.initBook();
//
//
SimplTypesScope book_example_sts = new SimplTypesScope("book_example", typeof(Book));
//Serialize to JSON
String jsonResult = SimplTypesScope.Serialize(abook, StringFormat.Json);
//Serialize to XML
// (Just change the StringFormat parameter!)
String xmlResult = SimplTypesScope.Serialize(abook, StringFormat.Xml);
Object result1 = book_example_sts.Deserialize(jsonResult, StringFormat.Json);
Book r1 = (Book)result1;
Object result2 = book_example_sts.Deserialize(xmlResult, StringFormat.Xml);
Book r2 = (Book)result2;
Assert.IsTrue(result1.GetType().IsAssignableFrom(abook.GetType()));
Assert.AreEqual(r1.getAuthor(), abook.getAuthor());
Assert.AreEqual(r1.getBookID(), abook.getBookID());
Assert.AreEqual(r1.getTitle(), abook.getTitle());
Assert.AreEqual(r1.getAuthor(), "Michael Feathers");
Assert.AreEqual(r1.getBookID(), 1337);
Assert.AreEqual(r1.getTitle(), "Working Effectively with Legacy Code");
Assert.AreEqual(r2.getAuthor(), abook.getAuthor());
Assert.AreEqual(r2.getBookID(), abook.getBookID());
Assert.AreEqual(r2.getTitle(), abook.getTitle());
}