Class EventIndexKeyAttribute
Namespace: DotBoxD.Plugins.Indexing
Assembly: DotBoxD.Plugins.dll
Marks an event property the host keeps a dispatch index for. DotBoxD owns predicate lowering and
exposes index metadata on the plugin manifest (DotBoxD.Plugins.HookSubscriptionManifest.IndexedPredicates);
this attribute is how a host declares which of those property paths it can actually serve from an
equality/range bucket. DotBoxD.Plugins.Indexing.EventIndexMatcher reads it (once, with a compiled getter)
and ignores manifest predicates whose path is not an index key, leaving them to the verified IR.
Promoted to the framework as the first-class declaration surface (issue #50) so any host can opt into index-based prefiltering without reimplementing the matcher. It stays purely declarative: a property the host does not mark is simply never served from the index.
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]public sealed class EventIndexKeyAttribute : AttributeInheritance
Section titled “Inheritance”object ← Attribute ← EventIndexKeyAttribute
Inherited Members
Section titled “Inherited Members”Attribute.Equals(object?), Attribute.GetCustomAttribute(Assembly, Type), Attribute.GetCustomAttribute(Assembly, Type, bool), Attribute.GetCustomAttribute(MemberInfo, Type), Attribute.GetCustomAttribute(MemberInfo, Type, bool), Attribute.GetCustomAttribute(Module, Type), Attribute.GetCustomAttribute(Module, Type, bool), Attribute.GetCustomAttribute(ParameterInfo, Type), Attribute.GetCustomAttribute(ParameterInfo, Type, bool), Attribute.GetCustomAttributes(Assembly), Attribute.GetCustomAttributes(Assembly, bool), Attribute.GetCustomAttributes(Assembly, Type), Attribute.GetCustomAttributes(Assembly, Type, bool), Attribute.GetCustomAttributes(MemberInfo), Attribute.GetCustomAttributes(MemberInfo, bool), Attribute.GetCustomAttributes(MemberInfo, Type), Attribute.GetCustomAttributes(MemberInfo, Type, bool), Attribute.GetCustomAttributes(Module), Attribute.GetCustomAttributes(Module, bool), Attribute.GetCustomAttributes(Module, Type), Attribute.GetCustomAttributes(Module, Type, bool), Attribute.GetCustomAttributes(ParameterInfo), Attribute.GetCustomAttributes(ParameterInfo, bool), Attribute.GetCustomAttributes(ParameterInfo, Type), Attribute.GetCustomAttributes(ParameterInfo, Type, bool), Attribute.GetHashCode(), Attribute.IsDefaultAttribute(), Attribute.IsDefined(Assembly, Type), Attribute.IsDefined(Assembly, Type, bool), Attribute.IsDefined(MemberInfo, Type), Attribute.IsDefined(MemberInfo, Type, bool), Attribute.IsDefined(Module, Type), Attribute.IsDefined(Module, Type, bool), Attribute.IsDefined(ParameterInfo, Type), Attribute.IsDefined(ParameterInfo, Type, bool), Attribute.Match(object?), Attribute.TypeId, object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()