rename XFactory.Regs to XFactory.Generators.

This commit is contained in:
2026-05-23 21:23:06 +08:00
parent 8b285cc863
commit 058003f395
155 changed files with 16416 additions and 1261 deletions
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Interface IRuntimeVariableLookup | HiAPI-C# 2025 ">
<meta name="description" content="Stateless variable lookup that needs per-block runtime context — the current node (for traceback into runtime-state sections like MachineCoordinateState / ProgramXyz) and the dependency list (so the lookup can read from sibling dependencies without holding a static reference). Distinguished from : that one is for long-lived dependencies that already hold their own data (parameter tables, tool-offset wrappers, retained-variable tables) and need no block context. IRuntimeVariableLookup is for context-sensitive resolutions configured declaratively on . Implementations should be brand-specific (e.g. Fanuc #5001-#5043 position reads) and return null for keys outside their range so the evaluator&#39;s chain can fall through to the next lookup.">
<meta name="description" content="Stateless variable lookup that needs per-block runtime context — the current node (for traceback into runtime-state sections like MachineCoordinateState / ProgramXyz) and the dependency list (so the lookup can read from sibling dependencies without holding a static reference). Distinguished from : that one is for long-lived dependencies that already hold their own data (parameter tables, tool-offset wrappers, retained-variable tables) and need no block context. IRuntimeVariableLookup is for context-sensitive resolutions configured declaratively on . Implementations should be brand-specific (e.g. Fanuc #5001-#5043 position reads) and return null for keys outside their range so the evaluator&#39;s chain can fall through to the next lookup. Implementations are XML-serialised as part of &#39;s round-trip: each impl exposes a static XName, registers itself with , and implements . Since impls are stateless, the typical body is just an empty element carrying the type name; brand identity is restored by XFactory dispatch.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -115,11 +115,19 @@ Implementations should be brand-specific (e.g. Fanuc <code>#5001-#5043</code>
position reads) and return <code>null</code> for keys outside their range so
the evaluator's chain can fall through to the next lookup.
</p>
<p>
Implementations are XML-serialised as part of
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s round-trip: each impl exposes a
static <code>XName</code>, registers itself with <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Generators">Generators</a>,
and implements <a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html#Hi_Common_XmlUtils_IMakeXmlSource_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a>. Since impls
are stateless, the typical body is just an empty element carrying the
type name; brand identity is restored by XFactory dispatch.
</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public interface IRuntimeVariableLookup</code></pre>
<pre><code class="lang-csharp hljs">public interface IRuntimeVariableLookup : IMakeXmlSource</code></pre>
</div>
@@ -128,6 +136,13 @@ the evaluator's chain can fall through to the next lookup.
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html#Hi_Common_XmlUtils_IMakeXmlSource_MakeXmlSource_System_String_System_String_System_Boolean_">IMakeXmlSource.MakeXmlSource(string, string, bool)</a>
</div>
</dd></dl>
<dl class="typelist extensionMethods">
<dt>Extension Methods</dt>