CCNet.Build.Reconfigure.PageBuilder.ResolveProjectName C# (CSharp) Метод

ResolveProjectName() приватный статический Метод

private static ResolveProjectName ( string pageName, ProjectType &projectType ) : string
pageName string
projectType ProjectType
Результат string
		private static string ResolveProjectName(string pageName, out ProjectType projectType)
		{
			if (pageName != pageName.AsciiOnly('.', ' ').CleanWhitespaces())
				throw new ArgumentException($"Page name '{pageName}' does not look well-formed.");

			var parts = pageName.Split(new[] { ' ' }, 2);
			if (parts.Length != 2)
				throw new ArgumentException($"Page name '{pageName}' does not look well-formed.");

			var name = parts[0];
			var type = parts[1];

			switch (type)
			{
				case "library":
					projectType = ProjectType.Library;
					break;

				case "web site":
					projectType = ProjectType.Website;
					break;

				case "web service":
					projectType = ProjectType.Webservice;
					break;

				case "service":
					projectType = ProjectType.Service;
					break;

				case "console":
					projectType = ProjectType.Console;
					break;

				case "application":
					projectType = ProjectType.Windows;
					break;

				case "cloud role":
					projectType = ProjectType.CloudRole;
					break;

				case "cloud service":
					projectType = ProjectType.CloudService;
					break;

				case "fabric service":
					projectType = ProjectType.FabricService;
					break;

				case "fabric application":
					projectType = ProjectType.FabricApplication;
					break;

				default:
					throw new InvalidOperationException($"Unknown project type '{type}'.");
			}

			return name;
		}