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; }
文章列表