Files
UnrealEngineUWP/Engine/Source/Programs/DotNETCommon/DotNETUtilities/CommandLineAttribute.cs
Juan Canada 2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -05:00

56 lines
1.3 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace Tools.DotNETCommon
{
/// <summary>
/// Attribute to indicate the name of a command line argument
/// </summary>
[AttributeUsage(AttributeTargets.Field, AllowMultiple = true)]
public class CommandLineAttribute : Attribute
{
/// <summary>
/// Prefix for the option, with a leading '-' and trailing '=' character if a value is expected.
/// </summary>
public string Prefix;
/// <summary>
/// Specifies a fixed value for this argument. Specifying an alternate value is not permitted.
/// </summary>
public string Value = null;
/// <summary>
/// Whether this argument is required
/// </summary>
public bool Required;
/// <summary>
/// For collection types, specifies the separator character between multiple arguments
/// </summary>
public char ListSeparator = '\0';
/// <summary>
/// Constructor
/// </summary>
/// <param name="Prefix">Prefix for this argument</param>
public CommandLineAttribute(string Prefix = null)
{
this.Prefix = Prefix;
if(Prefix != null)
{
if(!Prefix.StartsWith("-"))
{
throw new Exception("Command-line arguments must begin with a '-' character");
}
}
}
}
}