[mono/monodevelop] [5 commits] d6497928: [Web References] Full cleanup!

"Therzok ([email protected])" <[email protected]> Tue, 12 Nov 2013 02:07:51 +0000
Newsgroups gmane.comp.gnome.mono.patches
Message-ID <000001424a1099ac-49665c37-f034-49b1-9f39-1b8a1371f247-000000@email.amazonses.com>
   Branch: refs/heads/webReferencesFix
     Home: https://github.com/mono/monodevelop
  Compare: https://github.com/mono/monodevelop/compare/04c00889a6b9...c3f56d9092c7

   Commit: d6497928dccba901467c2f766a8abe6ccf2e78b4
   Author: Therzok <[email protected]> (Therzok)
     Date: 2013-11-12 02:01:30 GMT
      URL: https://github.com/mono/monodevelop/commit/d6497928dccba901467c2f766a8abe6ccf2e78b4

[Web References] Full cleanup!

Changed paths:
  M main/src/addins/MonoDevelop.WebReferences/AddinInfo.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Commands/WebReferenceCommandHandler.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Commands/WebReferenceCommands.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/UserPasswordDialog.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WCFConfigWidget.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WebReferenceDialog.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/ProjectFolderNodeBuilderExtension.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/ProjectNodeBuilder.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/WebReferenceFolderNodeBuilder.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/WebReferenceNodeBuilder.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/ClientOptions.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/CollectionMapping.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/ExtensionFile.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/MetadataFile.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/MetadataSource.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/ReferenceGroup.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/ReferencedAssembly.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceDiscoveryResultWCF.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceEngineWCF.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebReferenceUrl.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceDiscoveryResultWS.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceEngineWS.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/DiscoveryNetworkCredential.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/DiscoveryProtocol.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/Library.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/MoonlightChannelBaseExtension.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferenceFolder.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferenceItem.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferencesService.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebServiceDiscoveryResult.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebServiceEngine.cs

Modified: main/src/addins/MonoDevelop.WebReferences/AddinInfo.cs
===================================================================
@@ -1,7 +1,5 @@
 
-using System;
 using Mono.Addins;
-using Mono.Addins.Description;
 
 [assembly:Addin ("WebReferences", 
         Namespace = "MonoDevelop",

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Commands/WebReferenceCommandHandler.cs
===================================================================
@@ -1,5 +1,4 @@
 using System;
-using System.IO;
 using System.Linq;
 using MonoDevelop.Components.Commands;
 using MonoDevelop.Core;
@@ -9,8 +8,6 @@
 using MonoDevelop.Ide;
 using System.Collections.Generic;
 using MonoDevelop.Core.Assemblies;
-using System.Threading.Tasks;
-using System.ServiceModel;
 
 namespace MonoDevelop.WebReferences.Commands
 {
@@ -22,7 +19,7 @@ public class WebReferenceCommandHandler : NodeCommandHandler
 		}
 		
 		/// <summary>Execute the command for adding a new web reference to a project.</summary>
-		[CommandHandler (MonoDevelop.WebReferences.WebReferenceCommands.Add)]
+		[CommandHandler (WebReferenceCommands.Add)]
 		public void NewWebReference()
 		{
 			// Get the project and project folder
@@ -58,8 +55,8 @@ public void NewWebReference()
 			}
 		}
 
-		[CommandUpdateHandler (MonoDevelop.WebReferences.WebReferenceCommands.Update)]
-		[CommandUpdateHandler (MonoDevelop.WebReferences.WebReferenceCommands.UpdateAll)]
+		[CommandUpdateHandler (WebReferenceCommands.Update)]
+		[CommandUpdateHandler (WebReferenceCommands.UpdateAll)]
 		void CanUpdateWebReferences (CommandInfo ci)
 		{
 			// This does not appear to work.
@@ -67,14 +64,14 @@ void CanUpdateWebReferences (CommandInfo ci)
 		}
 		
 		/// <summary>Execute the command for updating a web reference in a project.</summary>
-		[CommandHandler (MonoDevelop.WebReferences.WebReferenceCommands.Update)]
+		[CommandHandler (WebReferenceCommands.Update)]
 		public void Update()
 		{
 			UpdateReferences (new [] { (WebReferenceItem) CurrentNode.DataItem });
 		}
 
 		/// <summary>Execute the command for updating all web reference in a project.</summary>
-		[CommandHandler (MonoDevelop.WebReferences.WebReferenceCommands.UpdateAll)]
+		[CommandHandler (WebReferenceCommands.UpdateAll)]
 		public void UpdateAll()
 		{
 			DotNetProject project = ((WebReferenceFolder) CurrentNode.DataItem).Project;
@@ -125,7 +122,7 @@ void DisposeUpdateContext ()
 		}
 		
 		/// <summary>Execute the command for removing a web reference from a project.</summary>
-		[CommandHandler (MonoDevelop.WebReferences.WebReferenceCommands.Delete)]
+		[CommandHandler (WebReferenceCommands.Delete)]
 		public void Delete()
 		{
 			WebReferenceItem item = (WebReferenceItem) CurrentNode.DataItem;
@@ -137,7 +134,7 @@ public void Delete()
 		}
 		
 		/// <summary>Execute the command for removing all web references from a project.</summary>
-		[CommandHandler (MonoDevelop.WebReferences.WebReferenceCommands.DeleteAll)]
+		[CommandHandler (WebReferenceCommands.DeleteAll)]
 		public void DeleteAll()
 		{
 			DotNetProject project = ((WebReferenceFolder) CurrentNode.DataItem).Project;
@@ -149,7 +146,7 @@ public void DeleteAll()
 			IdeApp.Workbench.StatusBar.ShowMessage("Deleted all Web References");
 		}
 
-		[CommandUpdateHandler (MonoDevelop.WebReferences.WebReferenceCommands.Configure)]
+		[CommandUpdateHandler (WebReferenceCommands.Configure)]
 		void CanConfigureWebReferences (CommandInfo ci)
 		{
 			var item = CurrentNode.DataItem as WebReferenceItem;
@@ -157,7 +154,7 @@ void CanConfigureWebReferences (CommandInfo ci)
 		}
 
 		/// <summary>Execute the command for configuring a web reference in a project.</summary>
-		[CommandHandler (MonoDevelop.WebReferences.WebReferenceCommands.Configure)]
+		[CommandHandler (WebReferenceCommands.Configure)]
 		public void Configure ()
 		{
 			var item = (WebReferenceItem) CurrentNode.DataItem;

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Commands/WebReferenceCommands.cs
===================================================================
@@ -1,4 +1,3 @@
-using System;
 
 namespace MonoDevelop.WebReferences
 {

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/UserPasswordDialog.cs
===================================================================
@@ -23,7 +23,6 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
-using System;
 using MonoDevelop.Core;
 
 namespace MonoDevelop.WebReferences.Dialogs

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WCFConfigWidget.cs
===================================================================
@@ -33,7 +33,7 @@
 namespace MonoDevelop.WebReferences.Dialogs
 {
 	[System.ComponentModel.ToolboxItem(true)]
-	public partial class WCFConfigWidget : Gtk.Bin
+	public partial class WCFConfigWidget : Bin
 	{
 		public WCFConfigWidget (ClientOptions options)
 		{
@@ -53,17 +53,17 @@ public WCFConfigWidget (ClientOptions options)
 		
 		static readonly Type[] DefaultListTypes = {
 			typeof (Array),
-			typeof (System.Collections.Generic.LinkedList<>),
-			typeof (System.Collections.Generic.List<>),
+			typeof (LinkedList<>),
+			typeof (List<>),
 			typeof (System.Collections.ObjectModel.Collection<>),
 			typeof (System.Collections.ObjectModel.ObservableCollection<>),
 			typeof (System.ComponentModel.BindingList<>)
 		};
 		
 		static readonly Type[] DefaultDictionaryTypes = {
-			typeof (System.Collections.Generic.Dictionary<,>),
-			typeof (System.Collections.Generic.SortedList<,>),
-			typeof (System.Collections.Generic.SortedDictionary<,>)
+			typeof (Dictionary<, >),
+			typeof (SortedList<, >),
+			typeof (SortedDictionary<, >)
 		};
 		
 		public bool Modified {
@@ -71,8 +71,8 @@ public WCFConfigWidget (ClientOptions options)
 			private set;
 		}
 		
-		List<Type> listTypes;
-		List<Type> dictTypes;
+		readonly List<Type> listTypes;
+		readonly List<Type> dictTypes;
 		
 		static bool? runtimeSupport;
 		
@@ -106,7 +106,7 @@ internal static Type GetType (string name)
 			var type = typeof (char).Assembly.GetType (name);
 			if (type != null)
 				return type;
-			type = typeof (System.Collections.Generic.LinkedList<>).Assembly.GetType (name);
+			type = typeof (LinkedList<>).Assembly.GetType (name);
 			if (type != null)
 				return type;
 			return null;
@@ -115,7 +115,7 @@ internal static Type GetType (string name)
 		internal static string GetTypeName (Type type)
 		{
 			var name = type.FullName;
-			var pos = name.IndexOf ("`");
+			var pos = name.IndexOf ("`", StringComparison.Ordinal);
 			if (pos < 0)
 				return name;
 			return name.Substring (0, pos);

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WebReferenceDialog.cs
===================================================================
@@ -18,11 +18,11 @@
 namespace MonoDevelop.WebReferences.Dialogs
 {
 	
-	internal partial class WebReferenceDialog : Gtk.Dialog
+	internal partial class WebReferenceDialog : Dialog
 	{
 		#region Widgets
-		protected Widget browserWidget = null;
-		protected IWebBrowser browser = null;
+		protected Widget browserWidget;
+		protected IWebBrowser browser;
 		#endregion
 
 		enum DialogState {
@@ -36,10 +36,10 @@ enum DialogState {
 		bool modified;
 		bool isWebService;
 		WCFConfigWidget wcfConfig;
-		ClientOptions wcfOptions;
+		readonly ClientOptions wcfOptions;
 		DialogState state = DialogState.Uninitialized;
 		Label docLabel;
-		DotNetProject project;
+		readonly DotNetProject project;
 		
 		#region Properties
 		/// <summary>Gets or Sets whether the current location of the browser is a valid web service or not.</summary>
@@ -52,7 +52,7 @@ private set
 				// Clear out the Reference and Namespace Entry
 				if (isWebService && !value)
 				{
-					this.tbxReferenceName.Text = "";
+					tbxReferenceName.Text = "";
 				}
 				isWebService = value;
 				ChangeState (state);
@@ -88,11 +88,10 @@ public string DefaultReferenceName
 		{
 			get
 			{
-				Uri discoveryUri = new Uri(this.ServiceUrl);
+				Uri discoveryUri = new Uri (ServiceUrl);
 				if (discoveryUri != null)
 					return MakeValidId (discoveryUri.Host);
-				else
-					return String.Empty;
+				return String.Empty;
 			}
 		}
 		
@@ -104,8 +103,7 @@ string MakeValidId (string name)
 				if (char.IsNumber (c) && isWordStart) {
 					if (n == 0)
 						return "n" + name.Replace ('.','_');
-					else
-						return name.Replace ('.','_');
+					return name.Replace ('.','_');
 				}
 				isWordStart = c == '.';
 			}
@@ -116,14 +114,14 @@ string MakeValidId (string name)
 		/// <value>A string containing the name for the web reference.</value>
 		public string ReferenceName
 		{
-			get { return this.tbxReferenceName.Text; }
+			get { return tbxReferenceName.Text; }
 		}
 		
 		/// <summary>Gets the namespace for the web reference.</summary>
 		/// <value>A string containing the namespace for the web refrence.</value>
 		public string Namespace
 		{
-			get { return this.tbxNamespace.Text; }
+			get { return tbxNamespace.Text; }
 		}
 		
 		/// <summary>Gets the selected service discovery result.</summary>
@@ -154,18 +152,18 @@ public string ReferencePath
 		#endregion
 		
 		#region Member Variables
-		private string homeUrl = "http://www.w3schools.com/WebServices/TempConvert.asmx";
-		private string serviceUrl = "";
-		private string namespacePrefix = "";
-		private WebServiceDiscoveryResult selectedService;
-		private string basePath = "";
+		const string homeUrl = "http://www.w3schools.com/WebServices/TempConvert.asmx";
+		string serviceUrl = "";
+		string namespacePrefix = "";
+		WebServiceDiscoveryResult selectedService;
+		string basePath = "";
 //		protected Gtk.Alignment frmBrowserAlign;
 		#endregion
 		
 		/// <summary>Initializes a new instance of the AddWebReferenceDialog widget.</summary>
 		public WebReferenceDialog (DotNetProject project)
 		{
-			Build();
+			Build ();
 			this.basePath = Library.GetWebReferencePath (project);
 			this.isWebService = false;
 			this.project = project;
@@ -225,7 +223,7 @@ public WebReferenceDialog (WebReferenceItem item, ClientOptions options)
 //			}
 //		}
 
-		private void Browser_GoButtonClicked (object sender, EventArgs e)
+		void Browser_GoButtonClicked (object sender, EventArgs e)
 		{
 			modified = true;
 			switch (state) {
@@ -252,7 +250,7 @@ private void Browser_GoButtonClicked (object sender, EventArgs e)
 		/// <summary>Execute the event when the Enter key has been pressed on the Url Entry</summary>
 		/// <param name="sender">An object that contains the sender data.</param>
 		/// <param name="e">An EventArgs object that contains the event data.</param>
-		private void Browser_URLKeyReleased (object sender, Gtk.KeyReleaseEventArgs e)
+		void Browser_URLKeyReleased (object sender, KeyReleaseEventArgs e)
 		{
 			if (e.Event.Key == Gdk.Key.Return)
 			{
@@ -264,87 +262,87 @@ private void Browser_URLKeyReleased (object sender, Gtk.KeyReleaseEventArgs e)
 		/// <summary>Execute the event when the Location of the Browser has changed</summary>
 		/// <param name="sender">An object that contains the sender data.</param>
 		/// <param name="e">An EventArgs object that contains the event data.</param>
-		private void Browser_LocationChanged (object sender, EventArgs e)
+		void Browser_LocationChanged (object sender, EventArgs e)
 		{
 			if (browser != null) {
-				this.tbxReferenceURL.Text = this.browser.Location;
-				this.btnNavBack.Sensitive = browser.CanGoBack;
-				this.btnNavNext.Sensitive = browser.CanGoForward;
+				tbxReferenceURL.Text = browser.Location;
+				btnNavBack.Sensitive = browser.CanGoBack;
+				btnNavNext.Sensitive = browser.CanGoForward;
 				// Query the current url for services
-				ThreadPool.QueueUserWorkItem(new WaitCallback(QueryService), this.tbxReferenceURL.Text);
+				ThreadPool.QueueUserWorkItem(new WaitCallback(QueryService), tbxReferenceURL.Text);
 			}
 		}
 		
 		void UpdateLocation ()
 		{
-			ThreadPool.QueueUserWorkItem(new WaitCallback(QueryService), this.tbxReferenceURL.Text);
+			ThreadPool.QueueUserWorkItem(new WaitCallback(QueryService), tbxReferenceURL.Text);
 		}
 
 		
 		/// <summary>Execute when the browser starts loading a document</summary>
 		/// <param name="sender">An object that contains the sender data.</param>
 		/// <param name="e">An EventArgs object that contains the event data.</param>
-		private void Browser_StartLoading (object sender, EventArgs e)
+		void Browser_StartLoading (object sender, EventArgs e)
 		{
-			this.btnStop.Sensitive = true;
+			btnStop.Sensitive = true;
 		}
 		
 		/// <summary>Execute the browser stop loading a document</summary>
 		/// <param name="sender">An object that contains the sender data.</param>
 		/// <param name="e">An EventArgs object that contains the event data.</param>
-		private void Browser_StopLoading (object sender, EventArgs e)
+		void Browser_StopLoading (object sender, EventArgs e)
 		{
-			this.btnStop.Sensitive = false;
+			btnStop.Sensitive = false;
 		}
 		
 		/// <summary>Execute when the Back button has been clicked</summary>
 		/// <param name="sender">An object that contains the sender data.</param>
 		/// <param name="e">An EventArgs object that contains the event data.</param>
-		private void Browser_BackButtonClicked (object sender, EventArgs e)
+		void Browser_BackButtonClicked (object sender, EventArgs e)
 		{
 			if (browser != null)
-				this.browser.GoBack();
+				browser.GoBack();
 		}
 		
 		/// <summary>Execute when the Next button has been clicked</summary>
 		/// <param name="sender">An object that contains the sender data.</param>
 		/// <param name="e">An EventArgs object that contains the event data.</param>
-		private void Browser_NextButtonClicked (object sender, EventArgs e)
+		void Browser_NextButtonClicked (object sender, EventArgs e)
 		{
 			if (browser != null)
-				this.browser.GoForward();
+				browser.GoForward();
 		}
 		
 		/// <summary>Execute when the Refresh button has been clicked</summary>
 		/// <param name="sender">An object that contains the sender data.</param>
 		/// <param name="e">An EventArgs object that contains the event data.</param>
-		private void Browser_RefreshButtonClicked (object sender, EventArgs e)
+		void Browser_RefreshButtonClicked (object sender, EventArgs e)
 		{
 			if (browser != null)
-				this.browser.Reload();
+				browser.Reload();
 		}
 		
 		/// <summary>Execute when the Stop button has been clicked</summary>
 		/// <param name="sender">An object that contains the sender data.</param>
 		/// <param name="e">An EventArgs object that contains the event data.</param>
-		private void Browser_StopButtonClicked (object sender, EventArgs e)
+		void Browser_StopButtonClicked (object sender, EventArgs e)
 		{
 			if (browser != null)
-				this.browser.StopLoad();
+				browser.StopLoad();
 		}
 		
 		/// <summary>Execute when the Home button has been clicked</summary>
 		/// <param name="sender">An object that contains the sender data.</param>
 		/// <param name="e">An EventArgs object that contains the event data.</param>
-		private void Browser_HomeButtonClicked (object sender, EventArgs e)
+		void Browser_HomeButtonClicked (object sender, EventArgs e)
 		{
 			if (browser != null)
-				this.browser.LoadUrl(this.homeUrl);
+				browser.LoadUrl(homeUrl);
 		}
 		
 		/// <summary>Queries the web service to validate that the current url contains services</summary>
 		/// <param name="param">An object that contains the parameter being passed from the ThreadPool.</param>
-		private void QueryService (object param)
+		void QueryService (object param)
 		{
 			string url = param as string;
 			// Set the service url
@@ -368,8 +366,8 @@ private void QueryService (object param)
 				service = serviceEngine.Discover (url);
 			} catch (Exception ex) {
 				serviceUrl = null;
-				this.IsWebService = false;
-				this.selectedService = null;
+				IsWebService = false;
+				selectedService = null;
 				LoggingService.LogError ("Error while discovering web services", ex);
 				ShowError (ex.Message);
 				return;
@@ -396,14 +394,14 @@ void UpdateService (WebServiceDiscoveryResult service, string url)
 			StringBuilder text = new StringBuilder ();
 			
 			if (service == null) {
-				this.IsWebService = false;
-				this.selectedService = null;
+				IsWebService = false;
+				selectedService = null;
 			} else {
 				// Set the Default Namespace and Reference
-				this.tbxNamespace.Text = this.DefaultNamespace;
+				tbxNamespace.Text = DefaultNamespace;
 				
 				if (project != null) {
-					string name = this.DefaultReferenceName;
+					string name = DefaultReferenceName;
 					
 					var items = WebReferencesService.GetWebReferenceItems (project);
 					if (items.Any (it => it.Name == name)) {
@@ -412,11 +410,11 @@ void UpdateService (WebServiceDiscoveryResult service, string url)
 							num++;
 						name = name + "_" + num;
 					}
-					this.tbxReferenceName.Text = name;
+					tbxReferenceName.Text = name;
 				}
 				
-				this.IsWebService = true;
-				this.selectedService = service;
+				IsWebService = true;
+				selectedService = service;
 
 				if (docLabel != null) {
 					docLabel.Wrap = false;
@@ -433,7 +431,7 @@ void UpdateService (WebServiceDiscoveryResult service, string url)
 			return;
 		}
 		
-		protected virtual void OnBtnOKClicked (object sender, System.EventArgs e)
+		protected virtual void OnBtnOKClicked (object sender, EventArgs e)
 		{
 			if (wcfConfig != null) {
 				wcfConfig.Update ();
@@ -441,12 +439,12 @@ protected virtual void OnBtnOKClicked (object sender, System.EventArgs e)
 			}
 			
 			if (project == null) {
-				Respond (Gtk.ResponseType.Ok);
+				Respond (ResponseType.Ok);
 				return;
 			}
 
-			if (WebReferencesService.GetWebReferenceItems (project).Any (r => r.Name == this.tbxReferenceName.Text)) {
-				MessageService.ShowError (GettextCatalog.GetString ("Web reference already exists"), GettextCatalog.GetString ("A web service reference with the name '{0}' already exists in the project. Please use a different name.", this.tbxReferenceName.Text));
+			if (WebReferencesService.GetWebReferenceItems (project).Any (r => r.Name == tbxReferenceName.Text)) {
+				MessageService.ShowError (GettextCatalog.GetString ("Web reference already exists"), GettextCatalog.GetString ("A web service reference with the name '{0}' already exists in the project. Please use a different name.", tbxReferenceName.Text));
 				return;
 			}
 			
@@ -456,13 +454,13 @@ protected virtual void OnBtnOKClicked (object sender, System.EventArgs e)
 				return;
 			}
 
-			Respond (Gtk.ResponseType.Ok);
+			Respond (ResponseType.Ok);
 		}
 		
-		protected virtual void OnComboModelChanged (object sender, System.EventArgs e)
+		protected virtual void OnComboModelChanged (object sender, EventArgs e)
 		{
 			serviceUrl = null;
-			ThreadPool.QueueUserWorkItem(new WaitCallback(QueryService), this.tbxReferenceURL.Text);
+			ThreadPool.QueueUserWorkItem(new WaitCallback(QueryService), tbxReferenceURL.Text);
 		}
 
 		protected void OnBtnConfigClicked (object sender, EventArgs e)
@@ -614,9 +612,9 @@ protected void OnBtnBackClicked (object sender, EventArgs e)
 	
 	class AskCredentials: GuiSyncObject, ICredentials
 	{
-		static Dictionary<string,NetworkCredential> credentials = new Dictionary<string, NetworkCredential> ();
+		static readonly Dictionary<string,NetworkCredential> credentials = new Dictionary<string, NetworkCredential> ();
 		
-		Dictionary<string,NetworkCredential> tempCredentials = new Dictionary<string, NetworkCredential> ();
+		readonly Dictionary<string,NetworkCredential> tempCredentials = new Dictionary<string, NetworkCredential> ();
 		
 		public bool Canceled;
 		

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/ProjectFolderNodeBuilderExtension.cs
===================================================================
@@ -1,6 +1,4 @@
 using System;
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
 using MonoDevelop.Ide.Gui.Pads.ProjectPad;
 using MonoDevelop.Projects;
 using MonoDevelop.Ide.Gui.Components;
@@ -20,15 +18,18 @@ public override bool CanBuildNode (Type dataType)
 		}
 		
 		/// <summary>Get the attributes for the current node.</summary>
-		/// <param name="treeNavigator">ITreeNavigator containing the tree navigator.</param>
+		/// <param name="parentNode">ITreeNavigator containing the tree navigator.</param>
 		/// <param name="dataObject">An object containing the value of the current node.</param>
 		/// <param name="attributes">A NodeAttributes reference containing all the attribute for the current node.</param>
-		public override void GetNodeAttributes (ITreeNavigator treeNavigator, object dataObject, ref NodeAttributes attributes)
+		public override void GetNodeAttributes (ITreeNavigator parentNode, object dataObject, ref NodeAttributes attributes)
 		{
-			if (treeNavigator.Options ["ShowAllFiles"])
+			if (parentNode.Options ["ShowAllFiles"])
 				return;
 			
 			ProjectFolder folder = dataObject as ProjectFolder;
+			if (folder == null)
+				return;
+
 			DotNetProject project = folder.Project as DotNetProject;
 			if (project == null)
 				return;

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/ProjectNodeBuilder.cs
===================================================================
@@ -1,10 +1,6 @@
 using System;
 using System.Linq;
-using System.Collections;
 using MonoDevelop.Projects;
-using MonoDevelop.Core;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Ide.Gui;
 using MonoDevelop.WebReferences.Commands;
 using MonoDevelop.Ide.Gui.Components;
 
@@ -41,14 +37,14 @@ public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
 			return WebReferencesService.GetWebReferenceItems (project).Any ();
 		}
 		
-		public override void BuildChildNodes (ITreeBuilder builder, object dataObject)
+		public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
 		{
 			DotNetProject project = (DotNetProject) dataObject;
 			if (WebReferencesService.GetWebReferenceItems (project).Any ())
-				builder.AddChild (new WebReferenceFolder (project));
+				treeBuilder.AddChild (new WebReferenceFolder (project));
 		}
 
-		void HandleWebReferencesServiceWebReferencesChanged (object sender, WebReferencesChangedArgs e)
+		void HandleWebReferencesServiceWebReferencesChanged (object sender, WebReferencesChangedEventArgs e)
 		{
 			ITreeBuilder builder = Context.GetTreeBuilder (e.Project);
 			if (builder != null)

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/WebReferenceFolderNodeBuilder.cs
===================================================================
@@ -4,7 +4,6 @@
 using MonoDevelop.Ide.Gui;
 using MonoDevelop.WebReferences.Commands;
 using MonoDevelop.Ide.Gui.Components;
-using MonoDevelop.Ide;
 
 namespace MonoDevelop.WebReferences.NodeBuilders
 {
@@ -65,13 +64,13 @@ public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
 		}
 		
 		/// <summary>Add entries for all the web references in the project to the tree builder.</summary>
-		/// <param name="builder">An ITreeBuilder containing all the data for the current DotNet project.</param>
+		/// <param name="treeBuilder">An ITreeBuilder containing all the data for the current DotNet project.</param>
 		/// <param name="dataObject">An object containing the data for the current node in the tree.</param>
-		public override void BuildChildNodes (ITreeBuilder builder, object dataObject)
+		public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
 		{
 			WebReferenceFolder folder = (WebReferenceFolder) dataObject;
 			foreach (WebReferenceItem item in WebReferencesService.GetWebReferenceItems (folder.Project))
-				builder.AddChild(item);
+				treeBuilder.AddChild(item);
 		}
 		
 		/// <summary>Compare two object with one another and returns a number based on their sort order.</summary>

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/WebReferenceNodeBuilder.cs
===================================================================
@@ -1,14 +1,5 @@
 using System;
-using System.IO;
-using System.Collections;
-using MonoDevelop.Projects;
-using MonoDevelop.Core;
-using MonoDevelop.Ide.Commands;
-using MonoDevelop.Components;
-using MonoDevelop.Ide.Gui;
  
-using MonoDevelop.Components.Commands;
-using MonoDevelop.Ide.Gui.Pads;
 using MonoDevelop.WebReferences.Commands;
 using MonoDevelop.Ide.Gui.Components;
 
@@ -70,9 +61,9 @@ public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
 		}
 		
 		/// <summary>Add entries for all the web references in the project to the tree builder.</summary>
-		/// <param name="builder">An ITreeBuilder containing all the data for the current DotNet project.</param>
+		/// <param name="treeBuilder">An ITreeBuilder containing all the data for the current DotNet project.</param>
 		/// <param name="dataObject">An object containing the data for the current node in the tree.</param>
-		public override void BuildChildNodes (ITreeBuilder builder, object dataObject)
+		public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
 		{
 			/*
 			WebReferenceItem item = (WebReferenceItem) dataObject;

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/ClientOptions.cs
===================================================================
@@ -25,7 +25,6 @@
 // THE SOFTWARE.
 
 using System.Xml.Serialization;
-using System.Xml;
 using System.Collections.Generic;
 
 namespace MonoDevelop.WebReferences.WCF

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/CollectionMapping.cs
===================================================================
@@ -25,7 +25,6 @@
 // THE SOFTWARE.
 
 using System.Xml.Serialization;
-using System.Xml;
 
 namespace MonoDevelop.WebReferences.WCF
 {

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/ExtensionFile.cs
===================================================================
@@ -25,7 +25,6 @@
 // THE SOFTWARE.
 
 using System.Xml.Serialization;
-using System.Xml;
 
 namespace MonoDevelop.WebReferences.WCF
 {

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/MetadataFile.cs
===================================================================
@@ -25,7 +25,6 @@
 // THE SOFTWARE.
 
 using System.Xml.Serialization;
-using System.Xml;
 
 namespace MonoDevelop.WebReferences.WCF
 {

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/MetadataSource.cs
===================================================================
@@ -25,7 +25,6 @@
 // THE SOFTWARE.
 
 using System.Xml.Serialization;
-using System.Xml;
 
 namespace MonoDevelop.WebReferences.WCF
 {

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/ReferenceGroup.cs
===================================================================
@@ -35,8 +35,8 @@ namespace MonoDevelop.WebReferences.WCF
 	public class ReferenceGroup
 	{
 		ClientOptions options = new ClientOptions ();
-		List<MetadataSource> sources = new List<MetadataSource> ();
-		List<MetadataFile> metadata = new List<MetadataFile> ();
+		readonly List<MetadataSource> sources = new List<MetadataSource> ();
+		readonly List<MetadataFile> metadata = new List<MetadataFile> ();
 		
 		[XmlAttribute]
 		public string ID { get; set; }

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/ReferencedAssembly.cs
===================================================================
@@ -25,7 +25,6 @@
 // THE SOFTWARE.
 
 using System.Xml.Serialization;
-using System.Xml;
 
 namespace MonoDevelop.WebReferences.WCF
 {

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceDiscoveryResultWCF.cs
===================================================================
@@ -48,7 +48,7 @@ class WebServiceDiscoveryResultWCF: WebServiceDiscoveryResult
 		MetadataSet metadata;
 		DiscoveryClientProtocol protocol;
 		ReferenceGroup refGroup;
-		ClientOptions defaultOptions;
+		readonly ClientOptions defaultOptions;
 
 		public WebServiceDiscoveryResultWCF (DiscoveryClientProtocol protocol, MetadataSet metadata, WebReferenceItem item, ReferenceGroup refGroup, ClientOptions defaultOptions): base (WebReferencesService.WcfEngine, item)
 		{
@@ -76,7 +76,8 @@ public override string GetDescriptionMarkup ()
 					if (dd is ServiceDescription) {
 						Library.GenerateWsdlXml (text, protocol);
 						break;
-					} else if (dd is DiscoveryDocument) {
+					}
+					if (dd is DiscoveryDocument) {
 						Library.GenerateDiscoXml (text, (DiscoveryDocument)dd);
 						break;
 					}
@@ -93,17 +94,17 @@ public override string GetDescriptionMarkup ()
 			}
 		}
 		
-		protected override string GenerateDescriptionFiles (DotNetProject project, FilePath basePath)
+		protected override string GenerateDescriptionFiles (DotNetProject dotNetProject, FilePath basePath)
 		{
-			if (!project.Items.GetAll<WCFMetadata> ().Any ()) {
+			if (!dotNetProject.Items.GetAll<WCFMetadata> ().Any ()) {
 				WCFMetadata met = new WCFMetadata ();
 				met.Path = basePath.ParentDirectory;
-				project.Items.Add (met);
+				dotNetProject.Items.Add (met);
 			}
 			
-			WCFMetadataStorage metStor = project.Items.GetAll<WCFMetadataStorage> ().FirstOrDefault (m => m.Path.CanonicalPath == basePath);
+			WCFMetadataStorage metStor = dotNetProject.Items.GetAll<WCFMetadataStorage> ().FirstOrDefault (m => m.Path.CanonicalPath == basePath);
 			if (metStor == null)
-				project.Items.Add (new WCFMetadataStorage () { Path = basePath });
+				dotNetProject.Items.Add (new WCFMetadataStorage { Path = basePath });
 			
 			string file = Path.Combine (basePath, "Reference.svcmap");
 			if (protocol != null) {
@@ -119,7 +120,7 @@ protected override string GenerateDescriptionFiles (DotNetProject project, FileP
 				refGroup = map;
 			}
 			foreach (MetadataFile mfile in refGroup.Metadata)
-				project.AddFile (new FilePath (mfile.FileName).ToAbsolute (basePath), BuildAction.None);
+				dotNetProject.AddFile (new FilePath (mfile.FileName).ToAbsolute (basePath), BuildAction.None);
 			
 			return file;
 		}
@@ -139,7 +140,7 @@ public override void Update ()
 			GenerateFiles (Item.Project, Item.Project.DefaultNamespace, Item.Name);
 		}
 		
-		public override System.Collections.Generic.IEnumerable<string> GetAssemblyReferences ()
+		public override IEnumerable<string> GetAssemblyReferences ()
 		{
 			yield return "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
 			yield return "System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
@@ -187,7 +188,6 @@ protected override string CreateProxyFile (DotNetProject dotNetProject, FilePath
 			try {
 				ConfigureImporter (importer);
 			} catch {
-				;
 			}
 
 			Collection<ContractDescription> contracts = importer.ImportAllContracts ();
@@ -285,13 +285,13 @@ ReferenceGroup ConvertMapFile (string mapFile)
 			return map;
 		}
 		
-		MetadataSet ToMetadataSet (DiscoveryClientProtocol prot)
+		static MetadataSet ToMetadataSet (DiscoveryClientProtocol prot)
 		{
 			MetadataSet metadata = new MetadataSet ();
 			foreach (object o in prot.Documents.Values) {
 				if (o is System.Web.Services.Description.ServiceDescription) {
 					metadata.MetadataSections.Add (
-						new MetadataSection (MetadataSection.ServiceDescriptionDialect, "", (System.Web.Services.Description.ServiceDescription) o));
+						new MetadataSection (MetadataSection.ServiceDescriptionDialect, "", (ServiceDescription) o));
 				}
 				if (o is XmlSchema) {
 					metadata.MetadataSections.Add (

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceEngineWCF.cs
===================================================================
@@ -38,7 +38,7 @@ namespace MonoDevelop.WebReferences.WCF
 {
 	public class WebServiceEngineWCF: WebServiceEngine
 	{
-		ClientOptions defaultOptions = new ClientOptions ();
+		readonly ClientOptions defaultOptions = new ClientOptions ();
 
 		public ClientOptions DefaultClientOptions {
 			get { return defaultOptions; }
@@ -117,13 +117,13 @@ public override WebServiceDiscoveryResult Load (WebReferenceItem item)
 				DiscoveryReference dr;
 				switch (dcr.MetadataType) {
 					case "Wsdl":
-						dr = new System.Web.Services.Discovery.ContractReference ();
+						dr = new ContractReference ();
 						break;
 					case "Disco":
-						dr = new System.Web.Services.Discovery.DiscoveryDocumentReference ();
+						dr = new DiscoveryDocumentReference ();
 						break;
 					case "Schema":
-						dr = new System.Web.Services.Discovery.SchemaReference ();
+						dr = new SchemaReference ();
 						break;
 					default:
 						continue;

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebReferenceUrl.cs
===================================================================
@@ -24,7 +24,6 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-using System;
 using MonoDevelop.Projects;
 using MonoDevelop.Core.Serialization;
 using MonoDevelop.Core;

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceDiscoveryResultWS.cs
===================================================================
@@ -34,7 +34,6 @@
 using System.CodeDom;
 using MonoDevelop.Core;
 using WebReferencesDir = MonoDevelop.WebReferences.WS.WebReferences;
-using System.Collections.Generic;
 
 namespace MonoDevelop.WebReferences.WS
 {
@@ -48,7 +47,7 @@ public WebServiceDiscoveryResultWS (DiscoveryClientProtocol protocol, WebReferen
 		}
 		
 		public DiscoveryClientProtocol Protocol {
-			get { return this.protocol; }
+			get { return protocol; }
 		}
 
 		public override FilePath GetReferencePath (DotNetProject project, string refName)
@@ -63,7 +62,8 @@ public override string GetDescriptionMarkup ()
 				if (dd is ServiceDescription) {
 					Library.GenerateWsdlXml (text, protocol);
 					break;
-				} else if (dd is DiscoveryDocument) {
+				}
+				if (dd is DiscoveryDocument) {
 					Library.GenerateDiscoXml (text, (DiscoveryDocument)dd);
 					break;
 				}
@@ -77,26 +77,26 @@ public override string GetDescriptionMarkup ()
 			}
 		}
 		
-		protected override string GenerateDescriptionFiles (DotNetProject project, FilePath basePath)
+		protected override string GenerateDescriptionFiles (DotNetProject dotNetProject, FilePath basePath)
 		{
-			if (!project.Items.GetAll<WebReferencesDir> ().Any ()) {
+			if (!dotNetProject.Items.GetAll<WebReferencesDir> ().Any ()) {
 				WebReferencesDir met = new WebReferencesDir ();
 				met.Path = basePath.ParentDirectory;
-				project.Items.Add (met);
+				dotNetProject.Items.Add (met);
 			}
 			
-			WebReferenceUrl wru = project.Items.GetAll<WebReferenceUrl> ().FirstOrDefault (m => m.RelPath.CanonicalPath == basePath);
+			WebReferenceUrl wru = dotNetProject.Items.GetAll<WebReferenceUrl> ().FirstOrDefault (m => m.RelPath.CanonicalPath == basePath);
 			if (wru == null) {
 				wru = new WebReferenceUrl (protocol.Url);
 				wru.RelPath = basePath;
-				project.Items.Add (wru);
+				dotNetProject.Items.Add (wru);
 			}
 			
 			protocol.ResolveAll ();
 			DiscoveryClientResultCollection files = protocol.WriteAll (basePath, "Reference.map");
 			
 			foreach (DiscoveryClientResult dr in files)
-				project.AddFile (new FilePath (dr.Filename).ToAbsolute (basePath), BuildAction.None);
+				dotNetProject.AddFile (new FilePath (dr.Filename).ToAbsolute (basePath), BuildAction.None);
 			
 			return Path.Combine (basePath, "Reference.map");
 		}
@@ -143,7 +143,7 @@ protected override string CreateProxyFile (DotNetProject dotNetProject, FilePath
 				if (declarationType.IsClass) 
 					if (declarationType.BaseTypes.Count > 0)
 						// Is a Service Class
-						if (declarationType.BaseTypes [0].BaseType.IndexOf ("SoapHttpClientProtocol") > -1) {
+						if (declarationType.BaseTypes [0].BaseType.IndexOf ("SoapHttpClientProtocol", System.StringComparison.Ordinal) > -1) {
 							// Create new public constructor with the Url as parameter
 							urlConstructor.Attributes = MemberAttributes.Public;
 							urlConstructor.Parameters.Add (new CodeParameterDeclarationExpression ("System.String", "url"));

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceEngineWS.cs
===================================================================
@@ -43,8 +43,7 @@ public override WebServiceDiscoveryResult Discover (string url)
 				protocol.Url = url;
 				return new WebServiceDiscoveryResultWS (protocol, null);
 			}
-			else
-				return null;
+			return null;
 		}
 
 		public override WebServiceDiscoveryResult Load (WebReferenceItem item)

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/DiscoveryNetworkCredential.cs
===================================================================
@@ -15,7 +15,7 @@ public string AuthenticationType
 		
 		public bool IsDefaultAuthenticationType 
 		{
-			get { return String.Compare(authenticationType, DefaultAuthenticationType, true) == 0; }
+			get { return String.Compare (authenticationType, DefaultAuthenticationType, StringComparison.OrdinalIgnoreCase) == 0; }
 		}
 		#endregion
 		
@@ -24,7 +24,7 @@ public bool IsDefaultAuthenticationType
 		#endregion
 		
 		#region Member Variables
-		string authenticationType = String.Empty;
+		readonly string authenticationType = String.Empty;
 		#endregion
 		
 		public DiscoveryNetworkCredential(string userName, string password, string domain, string authenticationType) : base(userName, password, domain)


Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/DiscoveryProtocol.cs
===================================================================
@@ -7,7 +7,7 @@ namespace MonoDevelop.WebReferences
 {
 	/// <summary>Provides support for programmatically invoking XML Web services discovery.</summary>
 	[System.ComponentModel.DesignerCategory ("Code")]
-	public class DiscoveryProtocol : System.Web.Services.Discovery.DiscoveryClientProtocol
+	public class DiscoveryProtocol : DiscoveryClientProtocol
 	{
 		/// <summary>
 		/// Reads in a file containing a map of saved discovery documents populating the Documents and References properties, 
@@ -30,14 +30,14 @@ public DiscoveryClientResultCollection ReadAllUseBasePath(string topLevelFilenam
 			foreach (DiscoveryClientResult dcr in resfile.Results)
 			{
 				// Done this cause Type.GetType(dcr.ReferenceTypeName) returned null
-				Type type = null;
+				Type type;
 				switch (dcr.ReferenceTypeName)
 				{
 					case "System.Web.Services.Discovery.ContractReference":
-						type = typeof(System.Web.Services.Discovery.ContractReference);
+						type = typeof(ContractReference);
 						break;
 					case "System.Web.Services.Discovery.DiscoveryDocumentReference":
-						type = typeof(System.Web.Services.Discovery.DiscoveryDocumentReference);
+						type = typeof(DiscoveryDocumentReference);
 						break;
 					default:
 						continue;

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/Library.cs
===================================================================
@@ -5,7 +5,6 @@
 using System.Net;
 using System.Web.Services.Description;
 using System.Web.Services.Discovery;
-using System.Xml;
 using System.Xml.Schema;
 using MonoDevelop.Projects;
 using MonoDevelop.Core;
@@ -14,7 +13,7 @@
 namespace MonoDevelop.WebReferences
 {
 	/// <summary>A Library class containig generic static methods for Web Services.</summary>
-	public class Library
+	public static class Library
 	{
 		/// <summary>Read the service description for a specified uri.</summary>
 		/// <param name="uri">A string containing the unique reference identifier for the service.</param>
@@ -68,7 +67,7 @@ public static void GenerateDiscoXml (StringBuilder text, DiscoveryDocument doc)
 				if (dref == null)
 					continue;
 				if (dref is ContractReference) {
-					text.AppendFormat ("<b>Service: {0}</b>\n<span size='small'>{1}</span>", System.IO.Path.GetFileNameWithoutExtension (dref.DefaultFilename), dref.Url);
+					text.AppendFormat ("<b>Service: {0}</b>\n<span size='small'>{1}</span>", Path.GetFileNameWithoutExtension (dref.DefaultFilename), dref.Url);
 				}
 				else if (dref is DiscoveryDocumentReference) {
 					text.AppendFormat ("<b>Discovery document</b>\n<small>{0}</small>", dref.Url);
@@ -109,16 +108,16 @@ public static void GenerateWsdlXml (StringBuilder text, DiscoveryClientProtocol
 						// Method
 						// Asynch Begin & End Results
 						string returnType = met.ReturnType.BaseType;
-						if (met.Name.StartsWith ("Begin") && returnType == "System.IAsyncResult") 
+						if (met.Name.StartsWith ("Begin", StringComparison.Ordinal) && returnType == "System.IAsyncResult") 
 							continue;	// BeginXXX method
-						if (met.Name.EndsWith ("Async"))
+						if (met.Name.EndsWith ("Async", StringComparison.Ordinal))
 							continue;
-						if (met.Name.StartsWith ("On") && met.Name.EndsWith ("Completed"))
+						if (met.Name.StartsWith ("On", StringComparison.Ordinal) && met.Name.EndsWith ("Completed", StringComparison.Ordinal))
 							continue;
 						if (met.Parameters.Count > 0)
 						{
 							CodeParameterDeclarationExpression par = met.Parameters [met.Parameters.Count-1];
-							if (met.Name.StartsWith ("End") && par.Type.BaseType == "System.IAsyncResult")
+							if (met.Name.StartsWith ("End", StringComparison.Ordinal) && par.Type.BaseType == "System.IAsyncResult")
 								continue;	// EndXXX method
 						}
 						text.AppendFormat ("<b>{0}</b> (", met.Name);
@@ -156,10 +155,7 @@ public static string GetCommentElements (CodeTypeMember member)
 				if (com.Length > 0)
 					coms.Append (com);
 			}
-			if (coms.Length > 0)
-				return coms.ToString ();
-			else
-				return null;
+			return coms.Length > 0 ? coms.ToString () : null;
 		}
 		
 		/// <summary>Gets the path where all web references will be stored for the specified project.</summary>
@@ -170,8 +166,7 @@ public static FilePath GetWebReferencePath (Project project)
 			FilePath fp = project.BaseDirectory.Combine ("WebReferences");
 			if (Directory.Exists (fp))
 				return fp;
-			else
-				return project.BaseDirectory.Combine ("Web References");
+			return project.BaseDirectory.Combine ("Web References");
 		}
 		
 		/// <summary>Checks whether or not the current project does contain any web references.</summary>

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/MoonlightChannelBaseExtension.cs
===================================================================
@@ -27,17 +27,11 @@
 //
 using System;
 using System.CodeDom;
-using System.CodeDom.Compiler;
 using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.IO;
-using System.Linq;
 using System.Reflection;
-using System.ServiceModel;
 using System.ServiceModel.Channels;
 using System.ServiceModel.Description;
 using System.ServiceModel.Dispatcher;
-using System.Threading;
 
 namespace Mono.ServiceContractTool
 {
@@ -83,8 +77,8 @@ public MoonlightChannelBaseContractExtension (MoonlightChannelBaseContext mlCont
 			generate_sync = generateSync;
 		}
 
-		MoonlightChannelBaseContext ml_context;
-		bool generate_sync;
+		readonly MoonlightChannelBaseContext ml_context;
+		readonly bool generate_sync;
 
 		// IContractBehavior
 		public void AddBindingParameters (ContractDescription contractDescription, ServiceEndpoint endpoint, BindingParameterCollection bindingParameters)
@@ -165,7 +159,9 @@ public void Fixup ()
 			// protected override TChannel CreateChannel()
 			var creator = new CodeMemberMethod ();
 			creator.Name = "CreateChannel";
+			// Analysis disable BitwiseOperatorOnEnumWithoutFlags
 			creator.Attributes = MemberAttributes.Family | MemberAttributes.Override;
+			// Analysis restore BitwiseOperatorOnEnumWithoutFlags
 			creator.ReturnType = gt;
 			creator.Statements.Add (
 				new CodeMethodReturnStatement (
@@ -199,7 +195,7 @@ public void Fixup ()
 			}
 		}
 
-		bool ShouldPreserveBaseTypes (CodeTypeDeclaration ct)
+		static bool ShouldPreserveBaseTypes (CodeTypeDeclaration ct)
 		{
 			foreach (CodeTypeReference cr in ct.BaseTypes) {
 				if (cr.BaseType == "System.ServiceModel.ClientBase`1")
@@ -279,8 +275,8 @@ public MoonlightChannelBaseOperationExtension (MoonlightChannelBaseContext mlCon
 			generate_sync = generateSync;
 		}
 
-		MoonlightChannelBaseContext ml_context;
-		bool generate_sync;
+		readonly MoonlightChannelBaseContext ml_context;
+		readonly bool generate_sync;
 
 		// IOperationBehavior
 
@@ -337,8 +333,10 @@ void FixupSync ()
 			CodeMemberMethod cm = new CodeMemberMethod ();
 			type.Members.Add (cm);
 			cm.Name = od.Name;
+			// Analysis disable BitwiseOperatorOnEnumWithoutFlags
 			cm.Attributes = MemberAttributes.Public 
 					| MemberAttributes.Final;
+			// Analysis restore BitwiseOperatorOnEnumWithoutFlags
 
 			var inArgs = new List<CodeParameterDeclarationExpression > ();
 
@@ -379,9 +377,11 @@ public void FixupAsync ()
 			var asyncResultType = new CodeTypeReference (typeof (IAsyncResult));
 
 			// BeginXxx() implementation
-			CodeMemberMethod cm = new CodeMemberMethod () {
+			CodeMemberMethod cm = new CodeMemberMethod {
 				Name = "Begin" + od.Name,
+				// Analysis disable BitwiseOperatorOnEnumWithoutFlags
 				Attributes = MemberAttributes.Public | MemberAttributes.Final,
+				// Analysis restore BitwiseOperatorOnEnumWithoutFlags
 				ReturnType = asyncResultType
 				};
 			type.Members.Add (cm);
@@ -405,9 +405,11 @@ public void FixupAsync ()
 
 			// EndXxx() implementation
 
-			cm = new CodeMemberMethod () {
+			cm = new CodeMemberMethod {
 				Name = "End" + od.Name,
+				// Analysis disable BitwiseOperatorOnEnumWithoutFlags
 				Attributes = MemberAttributes.Public | MemberAttributes.Final,
+				// Analysis restore BitwiseOperatorOnEnumWithoutFlags
 				ReturnType = context.EndMethod.ReturnType };
 			type.Members.Add (cm);
 
@@ -434,7 +436,7 @@ public void FixupAsync ()
 				cm.Statements.Add (new CodeMethodReturnStatement (new CodeCastExpression (context.EndMethod.ReturnType, ret)));
 		}
 
-		void AddMethodParam (CodeMemberMethod cm, Type type, string name)
+		static void AddMethodParam (CodeMemberMethod cm, Type type, string name)
 		{
 			cm.Parameters.Add (new CodeParameterDeclarationExpression (new CodeTypeReference (type), name));
 		}

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferenceFolder.cs
===================================================================
@@ -1,4 +1,3 @@
-using System;
 using MonoDevelop.Projects;
 
 namespace MonoDevelop.WebReferences
@@ -16,7 +15,7 @@ public DotNetProject Project
 		#endregion
 		
 		#region Member Variables
-		private DotNetProject project;
+		readonly DotNetProject project;
 		#endregion
 		
 		/// <summary>Initializes a new instance of the WebReferenceFolder class by specifying the parent project.</summary>
@@ -27,12 +26,11 @@ public WebReferenceFolder (DotNetProject project)
 		}
 		
 		/// <summary>Checks if the specified other object is equal to the current object.</summary>
-		/// <param name="other">An object containing the object that needs to be compared to the current object.</param>
+		/// <param name="obj">An object containing the object that needs to be compared to the current object.</param>
 		/// <returns>True of the other object is equal to the current object, otherwise false.</returns>
-		public override bool Equals (object other)
+		public override bool Equals (object obj)
 		{
-			
-			WebReferenceFolder folder = other as WebReferenceFolder;
+			WebReferenceFolder folder = obj as WebReferenceFolder;
 			return folder != null && project == folder.project;
 		}
 		

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferenceItem.cs
===================================================================
@@ -1,18 +1,5 @@
-using System;
-using System.Collections;
-using System.IO;
-using System.Linq;
-using System.Xml;
-using System.Xml.Schema;
-using System.Xml.Serialization;
-using System.Net;
-using System.Text.RegularExpressions;
-
 using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
 using MonoDevelop.Core;
-using System.Collections.Generic;
 
 
 namespace MonoDevelop.WebReferences
@@ -20,10 +7,10 @@ namespace MonoDevelop.WebReferences
 	/// <summary>Defines the properties and methods for the WebReferenceItem class.</summary>
 	public class WebReferenceItem
 	{
-		DotNetProject project;
+		readonly DotNetProject project;
 		string name;
-		ProjectFile mapFile;
-		WebServiceEngine engine;
+		readonly ProjectFile mapFile;
+		readonly WebServiceEngine engine;
 		
 		public string Name
 		{
@@ -32,13 +19,13 @@ public string Name
 		}
 		
 		public ProjectFile MapFile {
-			get { return this.mapFile; }
+			get { return mapFile; }
 		}
 		
 		public FilePath BasePath { get; private set; }
 		
 		public DotNetProject Project {
-			get { return this.project; }
+			get { return project; }
 		}
 		
 		/// <summary>Initializes a new instance of the WebReferenceItem class.</summary>

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferencesService.cs
===================================================================
@@ -26,7 +26,6 @@
 
 using System;
 using MonoDevelop.Projects;
-using MonoDevelop.Core;
 using System.Collections.Generic;
 using MonoDevelop.WebReferences.WCF;
 using MonoDevelop.WebReferences.WS;
@@ -53,29 +52,29 @@ public static void NotifyWebReferencesChanged (DotNetProject project)
 			// this event and just ensure we proxy it to the main thread.
 			if (MonoDevelop.Ide.DispatchService.IsGuiThread) {
 				if (WebReferencesChanged != null)
-					WebReferencesChanged (null, new WebReferencesChangedArgs (project));
+					WebReferencesChanged (null, new WebReferencesChangedEventArgs (project));
 			} else {
 				MonoDevelop.Ide.DispatchService.GuiDispatch (() => {
 					if (WebReferencesChanged != null)
-						WebReferencesChanged (null, new WebReferencesChangedArgs (project));
+						WebReferencesChanged (null, new WebReferencesChangedEventArgs (project));
 				});
 			}
 		}
 		
-		public static event EventHandler<WebReferencesChangedArgs> WebReferencesChanged;
+		public static event EventHandler<WebReferencesChangedEventArgs> WebReferencesChanged;
 	}
 	
-	public class WebReferencesChangedArgs: EventArgs
+	public class WebReferencesChangedEventArgs: EventArgs
 	{
-		DotNetProject project;
+		readonly DotNetProject project;
 		
-		public WebReferencesChangedArgs (DotNetProject project)
+		public WebReferencesChangedEventArgs (DotNetProject project)
 		{
 			this.project = project;
 		}
 		
 		public DotNetProject Project {
-			get { return this.project; }
+			get { return project; }
 		}
 	}
 }

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebServiceDiscoveryResult.cs
===================================================================
@@ -36,7 +36,7 @@ namespace MonoDevelop.WebReferences
 	public abstract class WebServiceDiscoveryResult
 	{
 		WebReferenceItem item;
-		WebServiceEngine engine;
+		readonly WebServiceEngine engine;
 		
 		public WebServiceDiscoveryResult (WebServiceEngine engine, WebReferenceItem item)
 		{
@@ -45,7 +45,7 @@ public WebServiceDiscoveryResult (WebServiceEngine engine, WebReferenceItem item
 		}
 
 		public WebReferenceItem Item {
-			get { return this.item; }
+			get { return item; }
 		}
 		
 		CodeDomProvider provider;

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebServiceEngine.cs
===================================================================
@@ -66,8 +66,8 @@ protected DiscoveryClientProtocol DiscoResolve (string url)
 					if (!creds.Canceled && wr != null && wr.StatusCode == HttpStatusCode.Unauthorized) {
 						unauthorized = true;
 						continue;
-					} else
-						throw;
+					}
+					throw;
 				}
 			} while (unauthorized);
 			

   Commit: d36562174e3b31606d9324721e633fb5d1fcd139
   Author: Therzok <[email protected]> (Therzok)
     Date: 2013-11-12 02:01:31 GMT
      URL: https://github.com/mono/monodevelop/commit/d36562174e3b31606d9324721e633fb5d1fcd139

[WebReferences] Don't use lock (this).

Changed paths:
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WebReferenceDialog.cs

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WebReferenceDialog.cs
===================================================================
@@ -340,14 +340,15 @@ void Browser_HomeButtonClicked (object sender, EventArgs e)
 				browser.LoadUrl(homeUrl);
 		}
 		
+		readonly object queryLock = new object ();
 		/// <summary>Queries the web service to validate that the current url contains services</summary>
 		/// <param name="param">An object that contains the parameter being passed from the ThreadPool.</param>
 		void QueryService (object param)
 		{
 			string url = param as string;
 			// Set the service url
-			lock (this) {
-				if (serviceUrl == url) 
+			lock (queryLock) {
+				if (serviceUrl == url)
 					return;
 				serviceUrl = url; 
 			}

   Commit: c17c003da1c3998fdae8d3bcbed6395b4e9100f9
   Author: Therzok <[email protected]> (Therzok)
     Date: 2013-11-12 02:01:31 GMT
      URL: https://github.com/mono/monodevelop/commit/c17c003da1c3998fdae8d3bcbed6395b4e9100f9

[Web References] Implement other default types for list and dictionary.

Changed paths:
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WCFConfigWidget.cs

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WCFConfigWidget.cs
===================================================================
@@ -53,6 +53,7 @@ public WCFConfigWidget (ClientOptions options)
 		
 		static readonly Type[] DefaultListTypes = {
 			typeof (Array),
+			typeof (System.Collections.ArrayList),
 			typeof (LinkedList<>),
 			typeof (List<>),
 			typeof (System.Collections.ObjectModel.Collection<>),
@@ -63,7 +64,12 @@ public WCFConfigWidget (ClientOptions options)
 		static readonly Type[] DefaultDictionaryTypes = {
 			typeof (Dictionary<, >),
 			typeof (SortedList<, >),
-			typeof (SortedDictionary<, >)
+			typeof (SortedDictionary<, >),
+			typeof (System.Collections.Hashtable),
+			typeof (System.Collections.SortedList),
+			typeof (System.Collections.Specialized.HybridDictionary),
+			typeof (System.Collections.Specialized.ListDictionary),
+			typeof (System.Collections.Specialized.OrderedDictionary)
 		};
 		
 		public bool Modified {

   Commit: 0fc3bf0fef67a25e98c8d8d6d444bc3198300f95
   Author: Therzok <[email protected]> (Therzok)
     Date: 2013-11-12 02:01:32 GMT
      URL: https://github.com/mono/monodevelop/commit/0fc3bf0fef67a25e98c8d8d6d444bc3198300f95

[WebReferences] Made some methods static. Removed really useless null-check. :P

Changed paths:
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WCFConfigWidget.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WebReferenceDialog.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceEngineWCF.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceEngineWS.cs

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WCFConfigWidget.cs
===================================================================
@@ -113,9 +113,7 @@ internal static Type GetType (string name)
 			if (type != null)
 				return type;
 			type = typeof (LinkedList<>).Assembly.GetType (name);
-			if (type != null)
-				return type;
-			return null;
+			return type;
 		}
 		
 		internal static string GetTypeName (Type type)

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WebReferenceDialog.cs
===================================================================
@@ -95,7 +95,7 @@ public string DefaultReferenceName
 			}
 		}
 		
-		string MakeValidId (string name)
+		static string MakeValidId (string name)
 		{
 			bool isWordStart = true;
 			for (int n=0; n<name.Length; n++) {

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceEngineWCF.cs
===================================================================
@@ -63,7 +63,7 @@ public override WebServiceDiscoveryResult Discover (string url)
 			return null;
 		}
 		
-		MetadataSet ResolveWithWSMex (string url)
+		static MetadataSet ResolveWithWSMex (string url)
 		{
 			MetadataSet metadata = null;
 			try {

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceEngineWS.cs
===================================================================
@@ -94,7 +94,7 @@ public override void Delete (WebReferenceItem item)
 		}
 		
 		
-		void ImportReferenceUrlItems (DotNetProject project)
+		static void ImportReferenceUrlItems (DotNetProject project)
 		{
 			FilePath refsDir = project.BaseDirectory.Combine ("Web References");
 			
@@ -115,7 +115,7 @@ void ImportReferenceUrlItems (DotNetProject project)
 			}
 		}
 		
-		string GetUrl (FilePath mapPath)
+		static string GetUrl (FilePath mapPath)
 		{
 			DiscoveryProtocol protocol = new DiscoveryProtocol ();
 			protocol.ReadAllUseBasePath (mapPath);

   Commit: c3f56d9092c74ace28dcfd3e80be8408b543b955
   Author: Therzok <[email protected]> (Therzok)
     Date: 2013-11-12 02:01:32 GMT
      URL: https://github.com/mono/monodevelop/commit/c3f56d9092c74ace28dcfd3e80be8408b543b955

[WebReferences] var usage, autoproperty.

Changed paths:
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Commands/WebReferenceCommandHandler.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WCFConfigWidget.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WebReferenceDialog.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/ProjectFolderNodeBuilderExtension.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/ProjectNodeBuilder.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/WebReferenceFolderNodeBuilder.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceDiscoveryResultWCF.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceEngineWCF.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceDiscoveryResultWS.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceEngineWS.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/DiscoveryProtocol.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/Library.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/MoonlightChannelBaseExtension.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferenceFolder.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferenceItem.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebServiceDiscoveryResult.cs
  M main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebServiceEngine.cs

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Commands/WebReferenceCommandHandler.cs
===================================================================
@@ -23,7 +23,7 @@ public class WebReferenceCommandHandler : NodeCommandHandler
 		public void NewWebReference()
 		{
 			// Get the project and project folder
-			DotNetProject project = CurrentNode.GetParentDataItem (typeof(DotNetProject), true) as DotNetProject;
+			var project = CurrentNode.GetParentDataItem (typeof(DotNetProject), true) as DotNetProject;
 			
 			// Check and switch the runtime environment for the current project
 			if (project.TargetFramework.Id == TargetFrameworkMoniker.NET_1_1)
@@ -32,14 +32,14 @@ public void NewWebReference()
 				question += "Web Service is not supported in this version.";
 				question += "Do you want switch the runtime environment for this project version 2.0 ?";
 				
-				AlertButton switchButton = new AlertButton ("_Switch to .NET2"); 
+				var switchButton = new AlertButton ("_Switch to .NET2"); 
 				if (MessageService.AskQuestion(question, AlertButton.Cancel, switchButton) == switchButton)
 					project.TargetFramework = Runtime.SystemAssemblyService.GetTargetFramework (TargetFrameworkMoniker.NET_2_0);					
 				else
 					return;
 			}
 			
-			WebReferenceDialog dialog = new WebReferenceDialog (project);
+			var dialog = new WebReferenceDialog (project);
 			dialog.NamespacePrefix = project.DefaultNamespace;
 			
 			try {
@@ -125,7 +125,7 @@ void DisposeUpdateContext ()
 		[CommandHandler (WebReferenceCommands.Delete)]
 		public void Delete()
 		{
-			WebReferenceItem item = (WebReferenceItem) CurrentNode.DataItem;
+			var item = (WebReferenceItem) CurrentNode.DataItem;
 			if (!MessageService.Confirm (GettextCatalog.GetString ("Are you sure you want to delete the web service reference '{0}'?", item.Name), AlertButton.Delete))
 				return;
 			item.Delete();
@@ -138,7 +138,7 @@ public void Delete()
 		public void DeleteAll()
 		{
 			DotNetProject project = ((WebReferenceFolder) CurrentNode.DataItem).Project;
-			List<WebReferenceItem> items = new List<WebReferenceItem> (WebReferencesService.GetWebReferenceItems (project));
+			var items = new List<WebReferenceItem> (WebReferencesService.GetWebReferenceItems (project));
 			foreach (var item in items)
 				item.Delete();
 

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WCFConfigWidget.cs
===================================================================
@@ -120,9 +120,7 @@ internal static string GetTypeName (Type type)
 		{
 			var name = type.FullName;
 			var pos = name.IndexOf ("`", StringComparison.Ordinal);
-			if (pos < 0)
-				return name;
-			return name.Substring (0, pos);
+			return pos < 0 ? name : name.Substring (0, pos);
 		}
 		
 		void PopulateBox (ComboBox box, string category, List<Type> types)
@@ -144,7 +142,7 @@ void PopulateBox (ComboBox box, string category, List<Type> types)
 			box.Active = types.IndexOf (current);
 		}
 		
-		void UpdateBox (ComboBox box, string category, List<Type> types)
+		void UpdateBox (ComboBox box, string category, IList<Type> types)
 		{
 			var mapping = Options.CollectionMappings.FirstOrDefault (m => m.Category == category);
 			if (mapping == null) {

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.Dialogs/WebReferenceDialog.cs
===================================================================
@@ -61,25 +61,23 @@ private set
 		
 		/// <summary>Gets or Sets the current url for web service</summary>
 		/// <value>A string containing the url of the web service</value>
-		public string ServiceUrl
-		{
-			get { return serviceUrl; }
-			set { serviceUrl = value; }
+		public string ServiceUrl {
+			get;
+			set;
 		}
 		
 		/// <summary>Gets or Sets the namespace prefix for the web service</summary>
 		/// <value>A string containing namespace prefix value for the web service</value>
-		public string NamespacePrefix
-		{
-			get { return namespacePrefix; }
-			set { namespacePrefix = value; }
+		public string NamespacePrefix {
+			get;
+			set;
 		}
 		
 		/// <summary>Gets the default namespace for the web service based of the service url and namespace prefix</summary>
 		/// <value>A string containing default namespace for the web service</value>
 		public string DefaultNamespace
 		{
-			get { return namespacePrefix; }
+			get { return NamespacePrefix; }
 		}
 		
 		/// <summary>Gets the default reference name for the web service based of the service url</summary>
@@ -88,10 +86,8 @@ public string DefaultReferenceName
 		{
 			get
 			{
-				Uri discoveryUri = new Uri (ServiceUrl);
-				if (discoveryUri != null)
-					return MakeValidId (discoveryUri.Host);
-				return String.Empty;
+				var discoveryUri = new Uri (ServiceUrl);
+				return discoveryUri != null ? MakeValidId (discoveryUri.Host) : String.Empty;
 			}
 		}
 		
@@ -132,10 +128,9 @@ public WebServiceDiscoveryResult SelectedService
 		
 		/// <summary>Gets or Sets the the base path of the where the web reference.</summary>
 		/// <value>A string containing the base path where all the web references are stored in.</value>
-		public string BasePath
-		{
-			get { return basePath; }
-			set { basePath = value; }
+		public string BasePath {
+			get;
+			set;
 		}
 		
 		/// <summary>Gets the the base path for the current reference.</summary>
@@ -153,10 +148,7 @@ public string ReferencePath
 		
 		#region Member Variables
 		const string homeUrl = "http://www.w3schools.com/WebServices/TempConvert.asmx";
-		string serviceUrl = "";
-		string namespacePrefix = "";
 		WebServiceDiscoveryResult selectedService;
-		string basePath = "";
 //		protected Gtk.Alignment frmBrowserAlign;
 		#endregion
 		
@@ -164,10 +156,12 @@ public string ReferencePath
 		public WebReferenceDialog (DotNetProject project)
 		{
 			Build ();
-			this.basePath = Library.GetWebReferencePath (project);
+			this.BasePath = Library.GetWebReferencePath (project);
 			this.isWebService = false;
 			this.project = project;
 			this.modified = true;
+			this.NamespacePrefix = String.Empty;
+			ServiceUrl = String.Empty;
 
 			tbxReferenceURL.Text = homeUrl;
 
@@ -183,7 +177,8 @@ public WebReferenceDialog (WebReferenceItem item, ClientOptions options)
 			Build ();
 			this.isWebService = true;
 			this.wcfOptions = options;
-			this.namespacePrefix = item.Project.DefaultNamespace;
+			this.NamespacePrefix = item.Project.DefaultNamespace;
+			ServiceUrl = String.Empty;
 
 			ChangeState (DialogState.ModifyConfig);
 			
@@ -348,9 +343,9 @@ void QueryService (object param)
 			string url = param as string;
 			// Set the service url
 			lock (queryLock) {
-				if (serviceUrl == url)
+				if (ServiceUrl == url)
 					return;
-				serviceUrl = url; 
+				ServiceUrl = url; 
 			}
 			
 			WebServiceEngine serviceEngine;
@@ -366,7 +361,7 @@ void QueryService (object param)
 			try {
 				service = serviceEngine.Discover (url);
 			} catch (Exception ex) {
-				serviceUrl = null;
+				ServiceUrl = null;
 				IsWebService = false;
 				selectedService = null;
 				LoggingService.LogError ("Error while discovering web services", ex);
@@ -392,7 +387,7 @@ void ShowError (string error)
 		
 		void UpdateService (WebServiceDiscoveryResult service, string url)
 		{
-			StringBuilder text = new StringBuilder ();
+			var text = new StringBuilder ();
 			
 			if (service == null) {
 				IsWebService = false;
@@ -424,10 +419,7 @@ void UpdateService (WebServiceDiscoveryResult service, string url)
 			}
 			if (docLabel != null) {
 				docLabel.Wrap = false;
-				if (text.Length >= 0)
-					docLabel.Markup = text.ToString ();
-				else
-					docLabel.Markup = GettextCatalog.GetString ("Web service not found.");
+				docLabel.Markup = text.Length >= 0 ? text.ToString () : GettextCatalog.GetString ("Web service not found.");
 			}
 			return;
 		}
@@ -460,7 +452,7 @@ protected virtual void OnBtnOKClicked (object sender, EventArgs e)
 		
 		protected virtual void OnComboModelChanged (object sender, EventArgs e)
 		{
-			serviceUrl = null;
+			ServiceUrl = null;
 			ThreadPool.QueueUserWorkItem(new WaitCallback(QueryService), tbxReferenceURL.Text);
 		}
 
@@ -537,7 +529,7 @@ void ChangeState (DialogState newState)
 				return;
 
 			if (state != DialogState.Uninitialized)
-				frmBrowser.Forall (c => frmBrowser.Remove (c));
+				frmBrowser.Forall (frmBrowser.Remove);
 
 			browser = null;
 			browserWidget = null;
@@ -636,22 +628,20 @@ public NetworkCredential GetCredential (Uri uri, string authType)
 			if (tempCredentials.TryGetValue (uri.Host + uri.AbsolutePath, out nc))
 				return nc; // Exact match
 			
-			UserPasswordDialog dlg = new UserPasswordDialog (uri.Host);
+			var dlg = new UserPasswordDialog (uri.Host);
 			if (tempCredentials.TryGetValue (uri.Host, out nc) || credentials.TryGetValue (uri.Host, out nc)) {
 				dlg.User = nc.UserName;
 				dlg.Password = nc.Password;
 			}
 			try {
-				if (MessageService.RunCustomDialog (dlg) == (int) ResponseType.Ok) {
+				if (MessageService.RunCustomDialog (dlg) == (int)ResponseType.Ok) {
 					nc = new NetworkCredential (dlg.User, dlg.Password);
 					tempCredentials [uri.Host + uri.AbsolutePath] = nc;
 					tempCredentials [uri.Host] = nc;
 					return nc;
 				}
-				else {
-					Canceled = true;
-					return null;
-				}
+				Canceled = true;
+				return null;
 			} finally {
 				dlg.Destroy ();
 			}

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/ProjectFolderNodeBuilderExtension.cs
===================================================================
@@ -26,11 +26,11 @@ public override void GetNodeAttributes (ITreeNavigator parentNode, object dataOb
 			if (parentNode.Options ["ShowAllFiles"])
 				return;
 			
-			ProjectFolder folder = dataObject as ProjectFolder;
+			var folder = dataObject as ProjectFolder;
 			if (folder == null)
 				return;
 
-			DotNetProject project = folder.Project as DotNetProject;
+			var project = folder.Project as DotNetProject;
 			if (project == null)
 				return;
 			

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/ProjectNodeBuilder.cs
===================================================================
@@ -33,13 +33,13 @@ public override bool CanBuildNode (Type dataType)
 		
 		public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
 		{
-			DotNetProject project = (DotNetProject) dataObject;
+			var project = (DotNetProject) dataObject;
 			return WebReferencesService.GetWebReferenceItems (project).Any ();
 		}
 		
 		public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
 		{
-			DotNetProject project = (DotNetProject) dataObject;
+			var project = (DotNetProject) dataObject;
 			if (WebReferencesService.GetWebReferenceItems (project).Any ())
 				treeBuilder.AddChild (new WebReferenceFolder (project));
 		}

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.NodeBuilders/WebReferenceFolderNodeBuilder.cs
===================================================================
@@ -68,7 +68,7 @@ public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
 		/// <param name="dataObject">An object containing the data for the current node in the tree.</param>
 		public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
 		{
-			WebReferenceFolder folder = (WebReferenceFolder) dataObject;
+			var folder = (WebReferenceFolder) dataObject;
 			foreach (WebReferenceItem item in WebReferencesService.GetWebReferenceItems (folder.Project))
 				treeBuilder.AddChild(item);
 		}

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceDiscoveryResultWCF.cs
===================================================================
@@ -69,7 +69,7 @@ public override FilePath GetReferencePath (DotNetProject project, string refName
 
 		public override string GetDescriptionMarkup ()
 		{
-			StringBuilder text = new StringBuilder ();
+			var text = new StringBuilder ();
 			
 			if (protocol != null) {
 				foreach (object dd in protocol.Documents.Values) {
@@ -97,7 +97,7 @@ public override string GetDescriptionMarkup ()
 		protected override string GenerateDescriptionFiles (DotNetProject dotNetProject, FilePath basePath)
 		{
 			if (!dotNetProject.Items.GetAll<WCFMetadata> ().Any ()) {
-				WCFMetadata met = new WCFMetadata ();
+				var met = new WCFMetadata ();
 				met.Path = basePath.ParentDirectory;
 				dotNetProject.Items.Add (met);
 			}
@@ -113,7 +113,7 @@ protected override string GenerateDescriptionFiles (DotNetProject dotNetProject,
 				refGroup = ConvertMapFile (file);
 			} else {
 				// TODO
-				ReferenceGroup map = new ReferenceGroup ();
+				var map = new ReferenceGroup ();
 				map.ClientOptions = defaultOptions;
 				map.Save (file);
 				map.ID = Guid.NewGuid ().ToString ();
@@ -131,7 +131,7 @@ public override void Update ()
 			if (resfile.MetadataSources.Count == 0)
 				return;
 			string url = resfile.MetadataSources [0].Address;
-			WebServiceDiscoveryResultWCF wref = (WebServiceDiscoveryResultWCF) WebReferencesService.WcfEngine.Discover (url);
+			var wref = (WebServiceDiscoveryResultWCF) WebReferencesService.WcfEngine.Discover (url);
 			if (wref == null)
 				return;
 			
@@ -150,8 +150,8 @@ public override IEnumerable<string> GetAssemblyReferences ()
 		
 		protected override string CreateProxyFile (DotNetProject dotNetProject, FilePath basePath, string proxyNamespace, string referenceName)
 		{
-			CodeCompileUnit ccu = new CodeCompileUnit ();
-			CodeNamespace cns = new CodeNamespace (proxyNamespace);
+			var ccu = new CodeCompileUnit ();
+			var cns = new CodeNamespace (proxyNamespace);
 			ccu.Namespaces.Add (cns);
 			
 			bool targetMoonlight = dotNetProject.TargetFramework.Id.Identifier == ("Silverlight");
@@ -161,7 +161,7 @@ protected override string CreateProxyFile (DotNetProject dotNetProject, FilePath
 			bool targetCoreClr = targetMoonlight || targetMonoDroid || targetMonoTouch;
 			bool generateSyncMethods = targetMonoDroid | targetMonoTouch;
 			
-			ServiceContractGenerator generator = new ServiceContractGenerator (ccu);
+			var generator = new ServiceContractGenerator (ccu);
 			generator.Options = ServiceContractGenerationOptions.ChannelInterface | ServiceContractGenerationOptions.ClientClass;
 			if (refGroup.ClientOptions.GenerateAsynchronousMethods || targetCoreClr)
 				generator.Options |= ServiceContractGenerationOptions.AsynchronousMethods;
@@ -173,18 +173,15 @@ protected override string CreateProxyFile (DotNetProject dotNetProject, FilePath
 //				generator.Options |= ServiceContractGenerationOptions.EventBasedAsynchronousMethods;
 			
 			MetadataSet mset;
-			if (protocol != null)
-				mset = ToMetadataSet (protocol);
-			else
-				mset = metadata;
+			mset = protocol != null ? ToMetadataSet (protocol) : metadata;
 
 			CodeDomProvider code_provider = GetProvider (dotNetProject);
 			
-			List<IWsdlImportExtension> list = new List<IWsdlImportExtension> ();
+			var list = new List<IWsdlImportExtension> ();
 			list.Add (new TransportBindingElementImporter ());
 			list.Add (new XmlSerializerMessageContractImporter ());
 			
-			WsdlImporter importer = new WsdlImporter (mset);
+			var importer = new WsdlImporter (mset);
 			try {
 				ConfigureImporter (importer);
 			} catch {
@@ -240,10 +237,10 @@ void ConfigureImporter (WsdlImporter importer)
 		
 		ReferenceGroup ConvertMapFile (string mapFile)
 		{
-			DiscoveryClientProtocol prot = new DiscoveryClientProtocol ();
+			var prot = new DiscoveryClientProtocol ();
 			DiscoveryClientResultCollection files = prot.ReadAll (mapFile);
 			
-			ReferenceGroup map = new ReferenceGroup ();
+			var map = new ReferenceGroup ();
 			
 			if (refGroup != null) {
 				map.ClientOptions = refGroup.ClientOptions;
@@ -253,23 +250,23 @@ ReferenceGroup ConvertMapFile (string mapFile)
 				map.ID = Guid.NewGuid ().ToString ();
 			}
 			
-			Dictionary<string,int> sources = new Dictionary<string, int> ();
+			var sources = new Dictionary<string, int> ();
 			foreach (DiscoveryClientResult res in files) {
 				string url = res.Url;
-				Uri uri = new Uri (url);
+				var uri = new Uri (url);
 				if (!string.IsNullOrEmpty (uri.Query))
 					url = url.Substring (0, url.Length - uri.Query.Length);
 				int nSource;
 				if (!sources.TryGetValue (url, out nSource)) {
 					nSource = sources.Count + 1;
 					sources [url] = nSource;
-					MetadataSource ms = new MetadataSource ();
+					var ms = new MetadataSource ();
 					ms.Address = url;
 					ms.Protocol = uri.Scheme;
 					ms.SourceId = nSource.ToString ();
 					map.MetadataSources.Add (ms);
 				}
-				MetadataFile file = new MetadataFile ();
+				var file = new MetadataFile ();
 				file.FileName = res.Filename;
 				file.ID = Guid.NewGuid ().ToString ();
 				file.SourceId = nSource.ToString ();
@@ -287,15 +284,15 @@ ReferenceGroup ConvertMapFile (string mapFile)
 		
 		static MetadataSet ToMetadataSet (DiscoveryClientProtocol prot)
 		{
-			MetadataSet metadata = new MetadataSet ();
+			var metadata = new MetadataSet ();
 			foreach (object o in prot.Documents.Values) {
 				if (o is System.Web.Services.Description.ServiceDescription) {
 					metadata.MetadataSections.Add (
-						new MetadataSection (MetadataSection.ServiceDescriptionDialect, "", (ServiceDescription) o));
+						new MetadataSection (MetadataSection.ServiceDescriptionDialect, "", o));
 				}
 				if (o is XmlSchema) {
 					metadata.MetadataSections.Add (
-						new MetadataSection (MetadataSection.XmlSchemaDialect, "", (XmlSchema) o));
+						new MetadataSection (MetadataSection.XmlSchemaDialect, "", o));
 				}
 			}
 
@@ -305,9 +302,7 @@ static MetadataSet ToMetadataSet (DiscoveryClientProtocol prot)
 		public override string GetServiceURL ()
 		{
 			ReferenceGroup resfile = ReferenceGroup.Read (Item.MapFile.FilePath);
-			if (resfile.MetadataSources.Count == 0)
-				return null;
-			return resfile.MetadataSources [0].Address;
+			return resfile.MetadataSources.Count == 0 ? null : resfile.MetadataSources [0].Address;
 		}
 	}
 }

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WCF/WebServiceEngineWCF.cs
===================================================================
@@ -67,7 +67,7 @@ static MetadataSet ResolveWithWSMex (string url)
 		{
 			MetadataSet metadata = null;
 			try {
-				MetadataExchangeClient client = new MetadataExchangeClient (new EndpointAddress (url));
+				var client = new MetadataExchangeClient (new EndpointAddress (url));
 
 				Console.WriteLine ("\nAttempting to download metadata from {0} using WS-MetadataExchange..", url);
 				metadata = client.GetMetadata ();
@@ -75,10 +75,7 @@ static MetadataSet ResolveWithWSMex (string url)
 				//MetadataExchangeClient wraps exceptions, thrown while
 				//fetching the metadata, in an InvalidOperationException
 				string msg;
-				if (e.InnerException == null)
-					msg = e.Message;
-				else
-					msg = e.InnerException.ToString ();
+				msg = e.InnerException == null ? e.Message : e.InnerException.ToString ();
 
 				Console.WriteLine ("WS-MetadataExchange query failed for the url '{0}' with exception :\n {1}",
 					url, msg);
@@ -110,7 +107,7 @@ public override WebServiceDiscoveryResult Load (WebReferenceItem item)
 			
 			// TODO: Read as MetadataSet
 			
-			DiscoveryClientProtocol protocol = new DiscoveryClientProtocol ();
+			var protocol = new DiscoveryClientProtocol ();
 			
 			foreach (MetadataFile dcr in resfile.Metadata)
 			{
@@ -130,7 +127,7 @@ public override WebServiceDiscoveryResult Load (WebReferenceItem item)
 				}
 
 				dr.Url = dcr.SourceUrl;
-				FileStream fs = new FileStream (basePath.Combine (dcr.FileName), FileMode.Open, FileAccess.Read);
+				var fs = new FileStream (basePath.Combine (dcr.FileName), FileMode.Open, FileAccess.Read);
 				protocol.Documents.Add (dr.Url, dr.ReadDocument (fs));
 				fs.Close ();
 				protocol.References.Add (dr.Url, dr);

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceDiscoveryResultWS.cs
===================================================================
@@ -57,7 +57,7 @@ public override FilePath GetReferencePath (DotNetProject project, string refName
 
 		public override string GetDescriptionMarkup ()
 		{
-			StringBuilder text = new StringBuilder ();
+			var text = new StringBuilder ();
 			foreach (object dd in protocol.Documents.Values) {
 				if (dd is ServiceDescription) {
 					Library.GenerateWsdlXml (text, protocol);
@@ -80,7 +80,7 @@ public override string GetDescriptionMarkup ()
 		protected override string GenerateDescriptionFiles (DotNetProject dotNetProject, FilePath basePath)
 		{
 			if (!dotNetProject.Items.GetAll<WebReferencesDir> ().Any ()) {
-				WebReferencesDir met = new WebReferencesDir ();
+				var met = new WebReferencesDir ();
 				met.Path = basePath.ParentDirectory;
 				dotNetProject.Items.Add (met);
 			}
@@ -107,7 +107,7 @@ public override void Update ()
 			if (wru == null)
 				return;
 			
-			WebServiceDiscoveryResultWS wref = (WebServiceDiscoveryResultWS) WebReferencesService.WsEngine.Discover (wru.UpdateFromURL);
+			var wref = (WebServiceDiscoveryResultWS) WebReferencesService.WsEngine.Discover (wru.UpdateFromURL);
 			if (wref == null)
 				return;
 			
@@ -128,9 +128,9 @@ protected override string CreateProxyFile (DotNetProject dotNetProject, FilePath
 		{
 			// Setup the proxy namespace and compile unit
 			CodeDomProvider codeProv = GetProvider (dotNetProject);
-			CodeNamespace codeNamespace = new CodeNamespace (proxyNamespace);
-			CodeConstructor urlConstructor = new CodeConstructor ();
-			CodeCompileUnit codeUnit = new CodeCompileUnit ();
+			var codeNamespace = new CodeNamespace (proxyNamespace);
+			var urlConstructor = new CodeConstructor ();
+			var codeUnit = new CodeCompileUnit ();
 			codeUnit.Namespaces.Add (codeNamespace);
 
 			// Setup the importer and import the service description into the code unit
@@ -156,7 +156,7 @@ protected override string CreateProxyFile (DotNetProject dotNetProject, FilePath
 			
 			// Generate the code and save the file
 			string fileSpec = Path.Combine (basePath, dotNetProject.LanguageBinding.GetFileName (referenceName));
-			StreamWriter writer = new StreamWriter (fileSpec);
+			var writer = new StreamWriter (fileSpec);
 			codeProv.GenerateCodeFromCompileUnit (codeUnit, writer, new CodeGeneratorOptions ());
 			
 			writer.Close ();
@@ -167,10 +167,8 @@ protected override string CreateProxyFile (DotNetProject dotNetProject, FilePath
 		public override string GetServiceURL ()
 		{
 			WebReferenceUrl wru = Item.Project.Items.GetAll<WebReferenceUrl> ().FirstOrDefault (m => m.RelPath.CanonicalPath == Item.BasePath);
-			if (wru == null)
-				return null;
+			return wru == null ? null : wru.ServiceLocationURL;
 
-			return wru.ServiceLocationURL;
 		}
 	}
 }

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences.WS/WebServiceEngineWS.cs
===================================================================
@@ -49,7 +49,7 @@ public override WebServiceDiscoveryResult Discover (string url)
 		public override WebServiceDiscoveryResult Load (WebReferenceItem item)
 		{
 			// Read the map file into the discovery client protocol and setup the code generator
-			DiscoveryProtocol protocol = new DiscoveryProtocol ();
+			var protocol = new DiscoveryProtocol ();
 			protocol.ReadAllUseBasePath (item.MapFile.FilePath);
 			return new WebServiceDiscoveryResultWS (protocol, item);
 		}
@@ -108,7 +108,7 @@ static void ImportReferenceUrlItems (DotNetProject project)
 					string url = GetUrl (file.FilePath);
 					if (url == null)
 						continue;
-					WebReferenceUrl wru = new WebReferenceUrl (url);
+					var wru = new WebReferenceUrl (url);
 					wru.RelPath = file.FilePath.ParentDirectory;
 					project.Items.Add (wru);
 				}
@@ -117,16 +117,19 @@ static void ImportReferenceUrlItems (DotNetProject project)
 		
 		static string GetUrl (FilePath mapPath)
 		{
-			DiscoveryProtocol protocol = new DiscoveryProtocol ();
+			var protocol = new DiscoveryProtocol ();
 			protocol.ReadAllUseBasePath (mapPath);
 			
 			// Refresh the disco and wsdl from the server
 			foreach (object doc in protocol.References.Values) {
 				string url = null;
-				if (doc is DiscoveryDocumentReference) {
-					url = ((DiscoveryDocumentReference)doc).Url;
-				} else if (doc is ContractReference) {
-					url = ((ContractReference)doc).Url;
+				var discoveryDocumentReference = doc as DiscoveryDocumentReference;
+				if (discoveryDocumentReference != null) {
+					url = discoveryDocumentReference.Url;
+				} else {
+					var contractReference = doc as ContractReference;
+					if (contractReference != null)
+						url = contractReference.Url;
 				}
 				
 				if (!string.IsNullOrEmpty (url))

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/DiscoveryProtocol.cs
===================================================================
@@ -22,9 +22,9 @@ public class DiscoveryProtocol : DiscoveryClientProtocol
 		public DiscoveryClientResultCollection ReadAllUseBasePath(string topLevelFilename)
 		{
 			string basePath = (new FileInfo(topLevelFilename)).Directory.FullName;
-			StreamReader sr = new StreamReader (topLevelFilename);
-			XmlSerializer ser = new XmlSerializer (typeof (DiscoveryClientResultsFile));
-			DiscoveryClientResultsFile resfile = (DiscoveryClientResultsFile) ser.Deserialize (sr);
+			var sr = new StreamReader (topLevelFilename);
+			var ser = new XmlSerializer (typeof (DiscoveryClientResultsFile));
+			var resfile = (DiscoveryClientResultsFile) ser.Deserialize (sr);
 			sr.Close ();
 			
 			foreach (DiscoveryClientResult dcr in resfile.Results)
@@ -43,9 +43,9 @@ public DiscoveryClientResultCollection ReadAllUseBasePath(string topLevelFilenam
 						continue;
 				}
 				
-				DiscoveryReference dr = (DiscoveryReference) Activator.CreateInstance(type);
+				var dr = (DiscoveryReference) Activator.CreateInstance(type);
 				dr.Url = dcr.Url;
-				FileStream fs = new FileStream (Path.Combine(basePath, dcr.Filename), FileMode.Open, FileAccess.Read);
+				var fs = new FileStream (Path.Combine(basePath, dcr.Filename), FileMode.Open, FileAccess.Read);
 				Documents.Add (dr.Url, dr.ReadDocument (fs));
 				fs.Close ();
 				References.Add (dr.Url, dr);

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/Library.cs
===================================================================
@@ -20,10 +20,10 @@ public static class Library
 		/// <returns>A ServiceDescription for the specified uri.</returns>
 		public static ServiceDescription ReadServiceDescription(string uri) 
 		{
-			ServiceDescription desc = new ServiceDescription();
+			var desc = new ServiceDescription();
 			try 
 			{
-				HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
+				var request = (HttpWebRequest)WebRequest.Create(uri);
 				WebResponse response  = request.GetResponse();
 			
 				desc = ServiceDescription.Read(response.GetResponseStream());
@@ -41,16 +41,20 @@ public static ServiceDescription ReadServiceDescription(string uri)
 		public static ServiceDescriptionImporter ReadServiceDescriptionImporter(DiscoveryClientProtocol protocol)
 		{
    			// Service Description Importer
-			ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
+			var importer = new ServiceDescriptionImporter();
 			importer.ProtocolName = "Soap";
 			// Add all the schemas and service descriptions to the importer
 			protocol.ResolveAll ();
 			foreach (object doc in protocol.Documents.Values)
 			{
-				if (doc is ServiceDescription)
-					importer.AddServiceDescription((ServiceDescription)doc, null, null);
-				else if (doc is XmlSchema)
-					importer.Schemas.Add((XmlSchema)doc);
+				var serviceDescription = doc as ServiceDescription;
+				if (serviceDescription != null)
+					importer.AddServiceDescription (serviceDescription, null, null);
+				else {
+					var xmlSchema = doc as XmlSchema;
+					if (xmlSchema != null)
+						importer.Schemas.Add (xmlSchema);
+				}
 			}			
 			return importer;
 		}
@@ -63,7 +67,7 @@ public static void GenerateDiscoXml (StringBuilder text, DiscoveryDocument doc)
 			text.Append ("<big><b>" + GettextCatalog.GetString ("Web Service References") + "</b></big>\n\n");
 			foreach (object oref in doc.References)
 			{
-				DiscoveryReference dref = oref as DiscoveryReference;
+				var dref = oref as DiscoveryReference;
 				if (dref == null)
 					continue;
 				if (dref is ContractReference) {
@@ -82,8 +86,8 @@ public static void GenerateDiscoXml (StringBuilder text, DiscoveryDocument doc)
 		public static void GenerateWsdlXml (StringBuilder text, DiscoveryClientProtocol protocol)
 		{
 			// Code Namespace & Compile Unit
-			CodeNamespace codeNamespace = new CodeNamespace();
-			CodeCompileUnit codeUnit = new CodeCompileUnit();
+			var codeNamespace = new CodeNamespace();
+			var codeUnit = new CodeCompileUnit();
 			codeUnit.Namespaces.Add(codeNamespace);
 			
 			// Import and set the warning
@@ -102,7 +106,7 @@ public static void GenerateWsdlXml (StringBuilder text, DiscoveryClientProtocol
 				
 				foreach (CodeTypeMember mem in type.Members)
 				{
-					CodeMemberMethod met = mem as CodeMemberMethod;
+					var met = mem as CodeMemberMethod;
 					if (met != null && !(mem is CodeConstructor))
 					{
 						// Method
@@ -144,7 +148,7 @@ public static void GenerateWsdlXml (StringBuilder text, DiscoveryClientProtocol
 		
 		public static string GetCommentElements (CodeTypeMember member)
 		{
-			StringBuilder coms = new StringBuilder ();
+			var coms = new StringBuilder ();
 			foreach (CodeCommentStatement comment in member.Comments)
 			{
 				string com = comment.Comment.Text;
@@ -164,9 +168,7 @@ public static string GetCommentElements (CodeTypeMember member)
 		public static FilePath GetWebReferencePath (Project project)
 		{
 			FilePath fp = project.BaseDirectory.Combine ("WebReferences");
-			if (Directory.Exists (fp))
-				return fp;
-			return project.BaseDirectory.Combine ("Web References");
+			return Directory.Exists (fp) ? fp : project.BaseDirectory.Combine ("Web References");
 		}
 		
 		/// <summary>Checks whether or not the current project does contain any web references.</summary>

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/MoonlightChannelBaseExtension.cs
===================================================================
@@ -330,7 +330,7 @@ void FixupSync ()
 			var od = context.Operation;
 
 			// sync method implementation
-			CodeMemberMethod cm = new CodeMemberMethod ();
+			var cm = new CodeMemberMethod ();
 			type.Members.Add (cm);
 			cm.Name = od.Name;
 			// Analysis disable BitwiseOperatorOnEnumWithoutFlags
@@ -377,7 +377,7 @@ public void FixupAsync ()
 			var asyncResultType = new CodeTypeReference (typeof (IAsyncResult));
 
 			// BeginXxx() implementation
-			CodeMemberMethod cm = new CodeMemberMethod {
+			var cm = new CodeMemberMethod {
 				Name = "Begin" + od.Name,
 				// Analysis disable BitwiseOperatorOnEnumWithoutFlags
 				Attributes = MemberAttributes.Public | MemberAttributes.Final,

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferenceFolder.cs
===================================================================
@@ -30,7 +30,7 @@ public WebReferenceFolder (DotNetProject project)
 		/// <returns>True of the other object is equal to the current object, otherwise false.</returns>
 		public override bool Equals (object obj)
 		{
-			WebReferenceFolder folder = obj as WebReferenceFolder;
+			var folder = obj as WebReferenceFolder;
 			return folder != null && project == folder.project;
 		}
 		

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebReferenceItem.cs
===================================================================
@@ -8,14 +8,12 @@ namespace MonoDevelop.WebReferences
 	public class WebReferenceItem
 	{
 		readonly DotNetProject project;
-		string name;
 		readonly ProjectFile mapFile;
 		readonly WebServiceEngine engine;
 		
-		public string Name
-		{
-			get { return name; }
-			set { name = value; }
+		public string Name {
+			get;
+			set;
 		}
 		
 		public ProjectFile MapFile {
@@ -33,7 +31,7 @@ public string Name
 		public WebReferenceItem (WebServiceEngine engine, DotNetProject project, string name, FilePath basePath, ProjectFile mapFile)
 		{
 			this.engine = engine;
-			this.name = name;
+			this.Name = name;
 			this.project = project;
 			this.mapFile = mapFile;
 			BasePath = basePath.CanonicalPath;

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebServiceDiscoveryResult.cs
===================================================================
@@ -38,7 +38,7 @@ public abstract class WebServiceDiscoveryResult
 		WebReferenceItem item;
 		readonly WebServiceEngine engine;
 		
-		public WebServiceDiscoveryResult (WebServiceEngine engine, WebReferenceItem item)
+		protected WebServiceDiscoveryResult (WebServiceEngine engine, WebReferenceItem item)
 		{
 			this.item = item;
 			this.engine = engine;
@@ -85,7 +85,7 @@ public virtual void GenerateFiles (DotNetProject project, string namspace, strin
 				Directory.CreateDirectory (basePath);
 			
 			// Remove old files from the service directory
-			List<ProjectFile> toRemove = new List<ProjectFile>(project.Files.GetFilesInPath (basePath));
+			var toRemove = new List<ProjectFile>(project.Files.GetFilesInPath (basePath));
 			foreach (ProjectFile f in toRemove)
 				project.Files.Remove (f);
 			
@@ -95,13 +95,13 @@ public virtual void GenerateFiles (DotNetProject project, string namspace, strin
 			// Generate the proxy class
 			string proxySpec = CreateProxyFile (project, basePath, namspace + "." + referenceName, "Reference");
 			
-			ProjectFile mapFile = new ProjectFile (mapSpec);
+			var mapFile = new ProjectFile (mapSpec);
 			mapFile.BuildAction = BuildAction.None;
 			mapFile.Subtype = Subtype.Code;
 			mapFile.Generator = ProxyGenerator;
 			project.Files.Add (mapFile);
 			
-			ProjectFile proxyFile = new ProjectFile (proxySpec);
+			var proxyFile = new ProjectFile (proxySpec);
 			proxyFile.BuildAction = BuildAction.Compile;
 			proxyFile.Subtype = Subtype.Code;
 			proxyFile.DependsOn = mapFile.FilePath;

Modified: main/src/addins/MonoDevelop.WebReferences/MonoDevelop.WebReferences/WebServiceEngine.cs
===================================================================
@@ -41,7 +41,7 @@ public abstract class WebServiceEngine
 		
 		public virtual void Delete (WebReferenceItem item)
 		{
-			List<ProjectFile> toRemove = new List<ProjectFile> (item.Project.Files.GetFilesInPath (item.BasePath));
+			var toRemove = new List<ProjectFile> (item.Project.Files.GetFilesInPath (item.BasePath));
 			foreach (ProjectFile file in toRemove)
 				item.Project.Files.Remove (file);
 			FileService.DeleteDirectory (item.BasePath);
@@ -50,8 +50,8 @@ public virtual void Delete (WebReferenceItem item)
 		protected DiscoveryClientProtocol DiscoResolve (string url)
 		{
 			// Checks the availablity of any services
-			DiscoveryClientProtocol protocol = new DiscoveryClientProtocol ();
-			AskCredentials creds = new AskCredentials ();
+			var protocol = new DiscoveryClientProtocol ();
+			var creds = new AskCredentials ();
 			protocol.Credentials = creds;
 			bool unauthorized;
 			
@@ -62,7 +62,7 @@ protected DiscoveryClientProtocol DiscoResolve (string url)
 				try {
 					protocol.DiscoverAny (url);
 				} catch (WebException wex) {
-					HttpWebResponse wr = wex.Response as HttpWebResponse;
+					var wr = wex.Response as HttpWebResponse;
 					if (!creds.Canceled && wr != null && wr.StatusCode == HttpStatusCode.Unauthorized) {
 						unauthorized = true;
 						continue;


_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches