文章出處

  Visual Sutdio 2013增加了許多新功能,其中很多都直接提高了對代碼編輯的便利性。如:

  1. 在代碼編輯界面的右側滾動條上顯示不同顏色的標簽,讓開發人員可以對所編輯文檔的修改、查找、定位情況一目了然。而不用像往常一樣上下不停地拖動滾動條來定位到某一行,如果代碼量很大,上下拖動滾動條著實讓人很頭疼。

  2. 括號、代碼換行自動完成。在代碼編寫的過程中,輸入左括號Visual Studio會自動幫你完成右括號,如果你不小心主動輸入了右括號,也沒有關系,Visual Studio會自動進行整理。代碼編輯的智能程度比之前的版本有所提高。

  3. 每一個類或方法前面會自動添加references的數量,點擊之后可以直接查找工程中哪些地方有引用,非常直觀。

  4. 還有許多優化。

  Visual Studio 2013用得不太多,所以許多新增的功能只能以后慢慢再發掘。這里介紹一個很有用的功能,自動生成XML反序列化的類。以往想要在代碼中將XML反序列化成對象,我們要么手動創建這些對象(很容易出錯),要么借助于第三方的工具來生成Class。而現在,Visual Studio 2013可以自動幫我們完成這個工作。當然,如果你對XML反序列化并不感興趣,而熱衷于使用XElement或者XMLDocument來加載和解析XML,那么你可以忽略本文的內容。

  來看看在Visual Sutdio 2013中如何使用這個功能!

  1. 創建一個工程,或者打開現有的工程。必須要有一個工程啊!不然所生成的Classes如何編譯和運行呢?

  2. 新建一個XML文件,輸入你希望的內容。如:

<?xml version="1.0" encoding="utf-8"?>
<Cars>
  <Car>
    <StockNumber>1020</StockNumber>
    <Make>Nissan</Make>
    <Model>Sentra</Model>
  </Car>
  <Car>
    <StockNumber>1010</StockNumber>
    <Make>Toyota</Make>
    <Model>Corolla</Model>
  </Car>
  <Car>
    <StockNumber>1111</StockNumber>
    <Make>Honda</Make>
    <Model>Accord</Model>
  </Car>
</Cars>

  3. 全選整個XML文件的內容,Ctrl+C復制。

  4. 創建一個.cs文件或打開工程中現有的.cs文件,將光標定位到你要創建一個Class的地方。

  4. 選擇Edit->Paste Special->Paste XML As Classes,OK!你會看到Visual Studio已經為你生成好了反序列化的Classes。

  很方便吧!你可以對生成的Classes做任何修改,包括修改屬性和對象的名稱以及類型,修改代碼邏輯和包含關系等。但有一點需要注意!反序列化的類必須要能匹配所對應的XML文檔的結構,否則在代碼中進行反序列化操作時會失敗。下面這個方法通過反序列化上面給出的XML,找出對應makeName的CarsCar對象。

public static CarsCar GetCar(string makeName)
{
    string xmlFilePath = "c:\\XMLFile1.xml";
    Cars cars = null;
    XmlSerializer serializer = new XmlSerializer(typeof(Cars));

    using (FileStream fs = new FileStream(xmlFilePath, FileMode.Open))
    {
        using (XmlReader reader = XmlReader.Create(fs))
        {
            cars = (Cars)serializer.Deserialize(reader);
        }
    }

    if (cars != null)
    {
        CarsCar car = cars.Car.Where(n => n.Make == makeName).FirstOrDefault();
        if (car != null)
        {
            return car;
        }
    }

    return null;
}

 

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()