⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iproject.cs

📁 c#源代码
💻 CS
字号:
// <file>
//     <copyright see="prj:///doc/copyright.txt"/>
//     <license see="prj:///doc/license.txt"/>
//     <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
//     <version value="$version"/>
// </file>

using System;
using System.Collections;
using System.Xml;
using ICSharpCode.SharpDevelop.Internal.Project.Collections;

namespace ICSharpCode.SharpDevelop.Internal.Project
{
	public enum NewFileSearch {
		None,
		OnLoad,
		OnLoadAutoInsert
	}
	
	/// <summary>
	/// This interface describes the whole functionalaty a SharpDevelop project has.
	/// </summary>
	public interface IProject : IDisposable
	{
		/// <summary>
		/// Returns the language codon name, which is used
		/// to compile this project.
		/// </summary>
		string ProjectType {
			get;
		}
		
		/// <summary>
		/// Gets the directory where the projectfile is located.
		/// </summary>
		string BaseDirectory {
			get;
		}
		
		/// <summary>
		/// Marks a project for needing recompilation.
		/// </summary>
		bool IsDirty {
			get;
			set;
		}
		
		/// <summary>
		/// The name of the project.
		/// </summary>
		string Name {
			get;
			set;
		}
		
		/// <summary>
		/// The standad namespace new classes will be assigned to.
		/// </summary>
		string StandardNamespace {
			get;
			set;
		}
		
		/// <summary>
		/// The description of the project.
		/// </summary>
		string Description {
			get;
			set;
		}
		
		/// <summary>
		/// Gets/Sets the active configuration.
		/// </summary>
		IConfiguration ActiveConfiguration {
			get;
			set;
		}
		
		/// <summary>
		/// Gets the arraylist which contains all project configurations.
		/// </summary>
		ConfigurationCollection Configurations {
			get;
		}
		
		/// <summary>
		/// A collection containing all files & empty directories in the project.
		/// </summary>
		ProjectFileCollection ProjectFiles {
			get;
		}
		
		/// <summary>
		/// A collection containing all references in the project.
		/// </summary>
		ProjectReferenceCollection ProjectReferences {
			get;
		}
		
		/// <summary>
		/// The method on how newly found files (files which are in the project subdir
		/// but not in the project) are handled.
		/// </summary>
		NewFileSearch NewFileSearch {
			get;
			set;
		}
		
		/// <summary>
		/// If this property is true the state of the workbench (open files, project/class scout
		/// state) should be made persistent
		/// </summary>
		bool EnableViewState {
			get;
			set;
		}
		
		
		DeployInformation DeployInformation {
			get;
		}
		
		/// <summary>
		/// Returns true, if the language module which defined this project is able
		/// to compile the file 'fileName'. e.g. returns true, if the file fileName
		/// could be added as compileable file to the project.
		/// </summary>
		bool IsCompileable(string fileName);
		
		/// <summary>
		/// Loads this Project from fileName
		/// </summary>
		void LoadProject(string fileName);
		
		/// <summary>
		/// Saves this Project under fileName
		/// </summary>
		void SaveProject(string fileName);
		
		/// <summary>
		/// Copies all references to the bin path of this project
		/// </summary>
		/// <param name="force">
		/// if set to true all files are copied, overriding the localcopy property of
		/// the reference.
		/// </param>
		void CopyReferencesToOutputPath(bool force);
		void CopyReferencesToPath(string destination, bool force);
		void CopyReferencesToPath(string destination, bool force, ArrayList alreadyCopiedReferences);
			
		/// <summary>
		/// Returns true, if a specific file (given by it's name) 
		/// is inside this project.
		/// </summary>
		bool IsFileInProject(string fileName);
		
		/// <summary>
		/// Returns the file content as a string which can be parsed by the parser.
		/// The fileName must be a file name in the project. This is used for files
		/// 'behind' other files or zipped file contents etc.
		/// </summary>
		string GetParseableFileContent(string fileName);
		
		/// <summary>
		/// Creates a IConfiguration object which is used by this project type.
		/// </summary>
		IConfiguration CreateConfiguration(string name);
		IConfiguration CloneConfiguration(IConfiguration configuration);
		
		/// <summary>
		/// Creates a IConfiguration object which is used by this project type.
		/// </summary>
		IConfiguration CreateConfiguration();
		
		event EventHandler NameChanged;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -