CSharpArgumentInfo
using System.ComponentModel;
namespace Microsoft.CSharp.RuntimeBinder
{
[EditorBrowsable(EditorBrowsableState.Never)]
public sealed class CSharpArgumentInfo
{
internal static readonly CSharpArgumentInfo None = new CSharpArgumentInfo(CSharpArgumentInfoFlags.None, null);
internal CSharpArgumentInfoFlags Flags { get; }
internal string Name { get; }
internal bool UseCompileTimeType => (Flags & CSharpArgumentInfoFlags.UseCompileTimeType) != CSharpArgumentInfoFlags.None;
internal bool LiteralConstant => (Flags & CSharpArgumentInfoFlags.Constant) != CSharpArgumentInfoFlags.None;
internal bool NamedArgument => (Flags & CSharpArgumentInfoFlags.NamedArgument) != CSharpArgumentInfoFlags.None;
internal bool IsByRef => (Flags & CSharpArgumentInfoFlags.IsRef) != CSharpArgumentInfoFlags.None;
internal bool IsOut => (Flags & CSharpArgumentInfoFlags.IsOut) != CSharpArgumentInfoFlags.None;
internal bool IsStaticType => (Flags & CSharpArgumentInfoFlags.IsStaticType) != CSharpArgumentInfoFlags.None;
private CSharpArgumentInfo(CSharpArgumentInfoFlags flags, string name)
{
Flags = flags;
Name = name;
}
public static CSharpArgumentInfo Create(CSharpArgumentInfoFlags flags, string name)
{
return new CSharpArgumentInfo(flags, name);
}
}
}