namespace ZB.MOM.WW.OtOpcUa.Core.Scripting; /// /// Wraps a as a named field so user scripts see /// ctx.GetTag(...) instead of the bare GetTag(...) that Roslyn's /// globalsType convention would produce. Keeps the script ergonomics operators /// author against consistent with the dependency extractor (which looks for the /// ctx. prefix) and with the Admin UI hand-written type stub. /// /// /// Generic on so alarm predicates can use a richer /// context (e.g. with an Alarm property carrying the owning condition's /// metadata) without affecting virtual-tag contexts. /// public class ScriptGlobals where TContext : ScriptContext { public TContext ctx { get; set; } = default!; }