NodePipeline/NodePipeline.Abstractions/Attributes/NodeFieldAttribute.cs
2026-01-02 20:55:25 +03:00

28 lines
855 B
C#

using System;
using NodePipeline.Abstractions.Interfaces.Nodes;
// ReSharper disable UnusedAutoPropertyAccessor.Global
namespace NodePipeline.Abstractions.Attributes;
/// <summary>
/// Node field required attribute
/// </summary>
/// <param name="direction">Specifies node field direction</param>
/// <param name="name">Optional node field name override</param>
[AttributeUsage(AttributeTargets.Property)]
public sealed class NodeFieldAttribute(FieldDirection direction, string? name = null) : Attribute
{
/// <summary>
/// User specified field name
/// <para>
/// In other case property name will be used
/// </para>
/// </summary>
public string? Name { get; } = name;
/// <summary>
/// Node field direction
/// </summary>
public FieldDirection Direction { get; } = direction;
}