/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Compilers/Core/Portable/OutputKind.cs
111 строк
3 KB
Beth Harvey
Validation: Move remarks into summary (#62549)
13 июл 2022, 01:15
Не верифицирован
13 июл 2022, 01:15
7fcb10a
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using Microsoft.CodeAnalysis.Text; using System; using Roslyn.Utilities; namespace Microsoft.CodeAnalysis { /// <summary> /// Specifies output assembly kinds generated by compiler. /// </summary> public enum OutputKind { /// <summary> /// An .exe with an entry point and a console. /// </summary> ConsoleApplication = 0, /// <summary> /// An .exe with an entry point but no console. /// </summary> WindowsApplication = 1, /// <summary> /// A .dll file. /// </summary> DynamicallyLinkedLibrary = 2, /// <summary> /// A .netmodule file. /// </summary> NetModule = 3, /// <summary> /// A .winmdobj file. /// </summary> WindowsRuntimeMetadata = 4, /// <summary> /// An .exe that can run in an app container. /// <para> /// Equivalent to a WindowsApplication, but with an extra bit set in the Portable Executable file /// so that the application can only be run in an app container. /// Also known as a "Windows Store app". /// </para> /// </summary> WindowsRuntimeApplication = 5, } internal static partial class EnumBounds { internal static bool IsValid(this OutputKind value) { return value >= OutputKind.ConsoleApplication && value <= OutputKind.WindowsRuntimeApplication; } internal static string GetDefaultExtension(this OutputKind kind) { switch (kind) { case OutputKind.ConsoleApplication: case OutputKind.WindowsApplication: case OutputKind.WindowsRuntimeApplication: return ".exe"; case OutputKind.DynamicallyLinkedLibrary: return ".dll"; case OutputKind.NetModule: return ".netmodule"; case OutputKind.WindowsRuntimeMetadata: return ".winmdobj"; default: return ".dll"; } } internal static bool IsApplication(this OutputKind kind) { switch (kind) { case OutputKind.ConsoleApplication: case OutputKind.WindowsApplication: case OutputKind.WindowsRuntimeApplication: return true; case OutputKind.DynamicallyLinkedLibrary: case OutputKind.NetModule: case OutputKind.WindowsRuntimeMetadata: return false; default: return false; } } internal static bool IsNetModule(this OutputKind kind) { return kind == OutputKind.NetModule; } internal static bool IsWindowsRuntime(this OutputKind kind) { return kind == OutputKind.WindowsRuntimeMetadata; } } }