using System; // ReSharper disable UnusedMember.Global // ReSharper disable UnusedAutoPropertyAccessor.Global namespace NodePipeline.Abstractions.Attributes; /// /// Specifies default value for parameter /// [AttributeUsage(AttributeTargets.Property)] public sealed class HasDefaultValueAttribute : Attribute { /// /// Specifies default value for parameter /// /// Default value /// Default value type public HasDefaultValueAttribute(object value, Type type) { Value = value; Type = type; } /// /// Specifies default value for parameter /// /// Default string value public HasDefaultValueAttribute(string value) { Value = value; Type = typeof(string); } /// /// Specifies default value for parameter /// /// Default integer value public HasDefaultValueAttribute(int value) { Value = value; Type = typeof(int); } /// /// Specifies default value for parameter /// /// Default decimal value public HasDefaultValueAttribute(decimal value) { Value = value; Type = typeof(decimal); } /// /// Default value /// public object Value { get; } /// /// Default value type /// public Type Type { get; } }