Archived
460 lines
21 KiB
HTML
460 lines
21 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Class SentenceIndexCounterDependency | HiAPI-C# 2025 </title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="title" content="Class SentenceIndexCounterDependency | HiAPI-C# 2025 ">
|
|
|
|
<meta name="description" content="Per-session monotonically-increasing allocator. Holds the counter as a private field; returns the next unused value and increments. rewinds to 0 — the owning invokes it via the sweep on the same edge that initializes a fresh , so a controller power-reset clears both the syntax-piece pipeline and this counter in lock-step. This dependency exists to fix the sentence-index double-booking bug: before it, the host file's lazy enumerator numbered pieces from layers[0].Count captured at file-append time while subprogram / macro / control-flow re-segmentation numbered from layers[0].Last.Value.SentenceIndex + 1 — two independent sequences that overlap as soon as a call is inlined mid-stream (host blocks after M98 and the inlined body shared the same indices). With this counter, allocates one value per piece at materialization time, which the lazy pipeline pulls in execution order — indices are session-globally unique and strictly increasing along the executed stream, at the cost of no longer being contiguous per file (eager label scans discard their pre-label prefix, leaving gaps). Values are never negative, preserving the -1 "not in pipeline" sentinel used by and . When this dependency is absent from the pipeline list, falls back to the caller-supplied begin-index numbering — the legacy colliding behavior. Only code-built runners can hit that fallback: XML rehydration back-fills a missing instance (the SoftNcRunner XML constructor's system-wired back-fill), because saves that predate this dependency never self-heal by round-tripping — re-saving stamps a new ApiVersion on the same incomplete list.">
|
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
<link rel="stylesheet" href="../public/main.css">
|
|
<meta name="docfx:navrel" content="../toc.html">
|
|
<meta name="docfx:tocrel" content="toc.html">
|
|
|
|
<meta name="docfx:rel" content="../">
|
|
|
|
|
|
|
|
<meta name="loc:inThisArticle" content="In this article">
|
|
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
<meta name="loc:tocFilter" content="Filter by title">
|
|
<meta name="loc:nextArticle" content="Next">
|
|
<meta name="loc:prevArticle" content="Previous">
|
|
<meta name="loc:themeLight" content="Light">
|
|
<meta name="loc:themeDark" content="Dark">
|
|
<meta name="loc:themeAuto" content="Auto">
|
|
<meta name="loc:changeTheme" content="Change theme">
|
|
<meta name="loc:copy" content="Copy">
|
|
<meta name="loc:downloadPdf" content="Download PDF">
|
|
|
|
<script type="module" src="./../public/docfx.min.js"></script>
|
|
|
|
<script>
|
|
const theme = localStorage.getItem('theme') || 'auto'
|
|
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
<header class="bg-body border-bottom">
|
|
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
<div class="container-xxl flex-nowrap">
|
|
<a class="navbar-brand" href="../index.html">
|
|
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
|
|
</a>
|
|
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
<i class="bi bi-three-dots"></i>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navpanel">
|
|
<div id="navbar">
|
|
<form class="search" role="search" id="search">
|
|
<i class="bi bi-search"></i>
|
|
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
|
|
<main class="container-xxl">
|
|
<div class="toc-offcanvas">
|
|
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
<div class="offcanvas-header">
|
|
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
</div>
|
|
<div class="offcanvas-body">
|
|
<nav class="toc" id="toc"></nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="content">
|
|
<div class="actionbar">
|
|
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
<i class="bi bi-list"></i>
|
|
</button>
|
|
|
|
<nav id="breadcrumb"></nav>
|
|
</div>
|
|
|
|
<article data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency">
|
|
|
|
|
|
|
|
<h1 id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency" class="text-break">
|
|
Class SentenceIndexCounterDependency
|
|
</h1>
|
|
|
|
<div class="facts text-secondary">
|
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.Dependencys.html">Dependencys</a>.<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.html">SystemWired</a></dd></dl>
|
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
|
</div>
|
|
|
|
<div class="markdown summary"><p>Per-session monotonically-increasing <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html#Hi_NcParsers_Syntaxs_SyntaxPiece_SentenceIndex">SentenceIndex</a>
|
|
allocator. Holds the counter as a private field; <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_Allocate">Allocate()</a>
|
|
returns the next unused value and increments. <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_OnSessionReset">OnSessionReset()</a>
|
|
rewinds to 0 — the owning <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_RunNcLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_StepDiagnosticProgress_Hi_NcParsers_NcDiagnosticProgress_System_Threading_CancellationToken_">RunNcLines(string, IEnumerable<string>, MachiningSession, StepDiagnosticProgress, NcDiagnosticProgress, CancellationToken)</a>
|
|
invokes it via the <a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a> sweep on the same
|
|
edge that initializes a fresh <a class="xref" href="Hi.MachiningProcs.NcRunnerSessionState.html">NcRunnerSessionState</a>,
|
|
so a controller power-reset clears both the syntax-piece pipeline and
|
|
this counter in lock-step.</p>
|
|
<p>
|
|
This dependency exists to fix the sentence-index double-booking bug:
|
|
before it, the host file's lazy enumerator numbered pieces from
|
|
<code>layers[0].Count</code> captured at file-append time while subprogram /
|
|
macro / control-flow re-segmentation numbered from
|
|
<code>layers[0].Last.Value.SentenceIndex + 1</code> — two independent
|
|
sequences that overlap as soon as a call is inlined mid-stream
|
|
(host blocks after <code>M98</code> and the inlined body shared the same
|
|
indices). With this counter, <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">GetSyntaxPieces(ISegmenter, List<INcDependency>, IEnumerable<IndexedFileLine>, int, NcDiagnosticProgress, CancellationToken)</a>
|
|
allocates one value per piece at materialization time, which the lazy
|
|
pipeline pulls in execution order — indices are session-globally
|
|
unique and strictly increasing along the executed stream, at the cost
|
|
of no longer being contiguous per file (eager label scans discard
|
|
their pre-label prefix, leaving gaps).
|
|
</p>
|
|
<p>
|
|
Values are never negative, preserving the <code>-1</code> "not in pipeline"
|
|
sentinel used by <a class="xref" href="Hi.NcParsers.NcDiagnostic.html#Hi_NcParsers_NcDiagnostic_SentenceIndex">SentenceIndex</a> and
|
|
<a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_SentenceIndex">SentenceIndex</a>.
|
|
When this dependency is absent from the pipeline list,
|
|
<a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">GetSyntaxPieces(ISegmenter, List<INcDependency>, IEnumerable<IndexedFileLine>, int, NcDiagnosticProgress, CancellationToken)</a> falls back to the
|
|
caller-supplied begin-index numbering — the legacy colliding behavior.
|
|
Only code-built runners can hit that fallback: XML rehydration back-fills
|
|
a missing instance (the <code>SoftNcRunner</code> XML constructor's
|
|
system-wired back-fill), because saves that predate this dependency
|
|
never self-heal by round-tripping — re-saving stamps a new
|
|
<code>ApiVersion</code> on the same incomplete list.
|
|
</p>
|
|
</div>
|
|
<div class="markdown conceptual"></div>
|
|
|
|
<div class="codewrapper">
|
|
<pre><code class="lang-csharp hljs">public class SentenceIndexCounterDependency : INcDependency, IMakeXmlSource, ISessionResettable</code></pre>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<dl class="typelist inheritance">
|
|
<dt>Inheritance</dt>
|
|
<dd>
|
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
<div><span class="xref">SentenceIndexCounterDependency</span></div>
|
|
</dd>
|
|
</dl>
|
|
|
|
<dl class="typelist implements">
|
|
<dt>Implements</dt>
|
|
<dd>
|
|
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
|
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
|
<div><a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a></div>
|
|
</dd>
|
|
</dl>
|
|
|
|
|
|
<dl class="typelist inheritedMembers">
|
|
<dt>Inherited Members</dt>
|
|
<dd>
|
|
<div>
|
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<dl class="typelist extensionMethods">
|
|
<dt>Extension Methods</dt>
|
|
<dd>
|
|
<div>
|
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
|
</div>
|
|
<div>
|
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
|
|
|
|
|
|
|
|
<h2 class="section" id="constructors">Constructors
|
|
</h2>
|
|
|
|
|
|
<a id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency__ctor_" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.#ctor*"></a>
|
|
|
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency__ctor" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.#ctor">
|
|
SentenceIndexCounterDependency()
|
|
|
|
</h3>
|
|
|
|
<div class="markdown level1 summary"><p>Initializes a new instance with the counter at 0.</p>
|
|
</div>
|
|
<div class="markdown level1 conceptual"></div>
|
|
|
|
<div class="codewrapper">
|
|
<pre><code class="lang-csharp hljs">public SentenceIndexCounterDependency()</code></pre>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 class="section" id="properties">Properties
|
|
</h2>
|
|
|
|
|
|
<a id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_XName_" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.XName*"></a>
|
|
|
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_XName" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.XName">
|
|
XName
|
|
|
|
</h3>
|
|
|
|
<div class="markdown level1 summary"><p>XML element name used to register this dependency with <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>.</p>
|
|
</div>
|
|
<div class="markdown level1 conceptual"></div>
|
|
|
|
<div class="codewrapper">
|
|
<pre><code class="lang-csharp hljs">public static string XName { get; }</code></pre>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<h4 class="section">Property Value</h4>
|
|
<dl class="parameters">
|
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
|
<dd></dd>
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 class="section" id="methods">Methods
|
|
</h2>
|
|
|
|
|
|
<a id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_Allocate_" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.Allocate*"></a>
|
|
|
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_Allocate" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.Allocate">
|
|
Allocate()
|
|
|
|
</h3>
|
|
|
|
<div class="markdown level1 summary"><p>Returns the next unused sentence index and post-increments the
|
|
counter. First call after construction or <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_OnSessionReset">OnSessionReset()</a>
|
|
returns 0.</p>
|
|
</div>
|
|
<div class="markdown level1 conceptual"></div>
|
|
|
|
<div class="codewrapper">
|
|
<pre><code class="lang-csharp hljs">public int Allocate()</code></pre>
|
|
</div>
|
|
|
|
|
|
<h4 class="section">Returns</h4>
|
|
<dl class="parameters">
|
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
|
<dd></dd>
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_MakeXmlSource_" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.MakeXmlSource*"></a>
|
|
|
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.MakeXmlSource(System.String,System.String,System.Boolean)">
|
|
MakeXmlSource(string, string, bool)
|
|
|
|
</h3>
|
|
|
|
<div class="markdown level1 summary"><p>Runtime-only dependency — the live counter value is per-session
|
|
and not meaningful to persist; serialization writes only the
|
|
empty element so the dependency survives an XML round-trip with
|
|
the counter implicitly reset to 0.</p>
|
|
</div>
|
|
<div class="markdown level1 conceptual"></div>
|
|
|
|
<div class="codewrapper">
|
|
<pre><code class="lang-csharp hljs">public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)</code></pre>
|
|
</div>
|
|
|
|
<h4 class="section">Parameters</h4>
|
|
<dl class="parameters">
|
|
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
|
<dd></dd>
|
|
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
|
<dd></dd>
|
|
<dt><code>exhibitionOnly</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
|
<dd></dd>
|
|
</dl>
|
|
|
|
<h4 class="section">Returns</h4>
|
|
<dl class="parameters">
|
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
|
<dd></dd>
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_OnSessionReset_" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.OnSessionReset*"></a>
|
|
|
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_OnSessionReset" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.OnSessionReset">
|
|
OnSessionReset()
|
|
|
|
</h3>
|
|
|
|
<div class="markdown level1 summary"><p>Rewinds the counter to 0. Called by
|
|
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_RunNcLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_StepDiagnosticProgress_Hi_NcParsers_NcDiagnosticProgress_System_Threading_CancellationToken_">RunNcLines(string, IEnumerable<string>, MachiningSession, StepDiagnosticProgress, NcDiagnosticProgress, CancellationToken)</a> via the
|
|
<a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a> sweep on the same edge that
|
|
initializes a fresh session pipeline so a single brand-preset
|
|
runner can be reused across sessions without leaking sentence
|
|
indices from the previous session.</p>
|
|
</div>
|
|
<div class="markdown level1 conceptual"></div>
|
|
|
|
<div class="codewrapper">
|
|
<pre><code class="lang-csharp hljs">public void OnSessionReset()</code></pre>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_Reg_" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.Reg*"></a>
|
|
|
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_SentenceIndexCounterDependency_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.SystemWired.SentenceIndexCounterDependency.Reg(Hi.Common.XmlUtils.XFactory)">
|
|
Reg(XFactory)
|
|
|
|
</h3>
|
|
|
|
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
|
|
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
|
|
<code>null</code>). Idempotent.</p>
|
|
</div>
|
|
<div class="markdown level1 conceptual"></div>
|
|
|
|
<div class="codewrapper">
|
|
<pre><code class="lang-csharp hljs">public static void Reg(XFactory factory = null)</code></pre>
|
|
</div>
|
|
|
|
<h4 class="section">Parameters</h4>
|
|
<dl class="parameters">
|
|
<dt><code>factory</code> <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a></dt>
|
|
<dd></dd>
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
<div class="contribution d-print-none">
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="affix">
|
|
<nav id="affix"></nav>
|
|
</div>
|
|
</main>
|
|
|
|
<div class="container-xxl search-results" id="search-results"></div>
|
|
|
|
<footer class="border-top text-secondary">
|
|
<div class="container-xxl">
|
|
<div class="flex-fill">
|
|
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|