Visual Sutdio 2013增長了許多新功能,其中不少都直接提升了對代碼編輯的便利性。如:工具
1. 在代碼編輯界面的右側滾動條上顯示不一樣顏色的標籤,讓開發人員能夠對所編輯文檔的修改、查找、定位狀況一目瞭然。而不用像往常同樣上下不停地拖動滾動條來定位到某一行,若是代碼量很大,上下拖動滾動條着實讓人很頭疼。優化
2. 括號、代碼換行自動完成。在代碼編寫的過程當中,輸入左括號Visual Studio會自動幫你完成右括號,若是你不當心主動輸入了右括號,也沒有關係,Visual Studio會自動進行整理。代碼編輯的智能程度比以前的版本有所提升。spa
3. 每個類或方法前面會自動添加references的數量,點擊以後能夠直接查找工程中哪些地方有引用,很是直觀。code
4. 還有許多優化。xml
Visual Studio 2013用得不太多,因此許多新增的功能只能之後慢慢再發掘。這裏介紹一個頗有用的功能,自動生成XML反序列化的類。以往想要在代碼中將XML反序列化成對象,咱們要麼手動建立這些對象(很容易出錯),要麼藉助於第三方的工具來生成Class。而如今,Visual Studio 2013能夠自動幫咱們完成這個工做。固然,若是你對XML反序列化並不感興趣,而熱衷於使用XElement或者XMLDocument來加載和解析XML,那麼你能夠忽略本文的內容。對象
來看看在Visual Sutdio 2013中如何使用這個功能!blog
1. 建立一個工程,或者打開現有的工程。必需要有一個工程啊!否則所生成的Classes如何編譯和運行呢?utf-8
2. 新建一個XML文件,輸入你但願的內容。如:ci
<?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複製。element
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; }