Attributes/RequireArgumentAttribute.cs
using System;

namespace ExtendedEditor.Attributes;

[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = true)]
public sealed class RequireArgumentAttribute : Attribute
{
    public int Index { get; set; } = -1;
    public Type Type { get; set; } = null!;

    public RequireArgumentAttribute(int index, Type type)
    {
        Index = index;
        Type = type;
    }
}