Apq.Cfg.Template.IVariableResolver.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Interface IVariableResolver | Apq.Cfg API </title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta name="title" content="Interface IVariableResolver | Apq.Cfg API ">
  8. <meta name="description" content="变量解析器接口">
  9. <link rel="icon" href="../favicon.svg">
  10. <link rel="stylesheet" href="../public/docfx.min.css">
  11. <link rel="stylesheet" href="../public/main.css">
  12. <meta name="docfx:navrel" content="../toc.html">
  13. <meta name="docfx:tocrel" content="toc.html">
  14. <meta name="docfx:rel" content="../">
  15. <meta name="loc:inThisArticle" content="In this article">
  16. <meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
  17. <meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
  18. <meta name="loc:tocFilter" content="Filter by title">
  19. <meta name="loc:nextArticle" content="Next">
  20. <meta name="loc:prevArticle" content="Previous">
  21. <meta name="loc:themeLight" content="Light">
  22. <meta name="loc:themeDark" content="Dark">
  23. <meta name="loc:themeAuto" content="Auto">
  24. <meta name="loc:changeTheme" content="Change theme">
  25. <meta name="loc:copy" content="Copy">
  26. <meta name="loc:downloadPdf" content="Download PDF">
  27. <script type="module" src="./../public/docfx.min.js"></script>
  28. <script>
  29. const theme = localStorage.getItem('theme') || 'auto'
  30. document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
  31. </script>
  32. </head>
  33. <body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
  34. <header class="bg-body border-bottom">
  35. <nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
  36. <div class="container-xxl flex-nowrap">
  37. <a class="navbar-brand" href="../index.html">
  38. <img id="logo" class="svg" src="../images/logo-small.svg" alt="Apq.Cfg">
  39. Apq.Cfg
  40. </a>
  41. <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">
  42. <i class="bi bi-three-dots"></i>
  43. </button>
  44. <div class="collapse navbar-collapse" id="navpanel">
  45. <div id="navbar">
  46. <form class="search" role="search" id="search">
  47. <i class="bi bi-search"></i>
  48. <input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
  49. </form>
  50. </div>
  51. </div>
  52. </div>
  53. </nav>
  54. </header>
  55. <main class="container-xxl">
  56. <div class="toc-offcanvas">
  57. <div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
  58. <div class="offcanvas-header">
  59. <h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
  60. <button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
  61. </div>
  62. <div class="offcanvas-body">
  63. <nav class="toc" id="toc"></nav>
  64. </div>
  65. </div>
  66. </div>
  67. <div class="content">
  68. <div class="actionbar">
  69. <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">
  70. <i class="bi bi-list"></i>
  71. </button>
  72. <nav id="breadcrumb"></nav>
  73. </div>
  74. <article data-uid="Apq.Cfg.Template.IVariableResolver">
  75. <h1 id="Apq_Cfg_Template_IVariableResolver" data-uid="Apq.Cfg.Template.IVariableResolver" class="text-break">
  76. Interface IVariableResolver
  77. </h1>
  78. <div class="facts text-secondary">
  79. <dl><dt>Namespace</dt><dd><a class="xref" href="Apq.html">Apq</a>.<a class="xref" href="Apq.Cfg.html">Cfg</a>.<a class="xref" href="Apq.Cfg.Template.html">Template</a></dd></dl>
  80. <dl><dt>Assembly</dt><dd>Apq.Cfg.dll</dd></dl>
  81. </div>
  82. <div class="markdown summary"><p>变量解析器接口</p>
  83. </div>
  84. <div class="markdown conceptual"></div>
  85. <div class="codewrapper">
  86. <pre><code class="lang-csharp hljs">public interface IVariableResolver</code></pre>
  87. </div>
  88. <h2 id="Apq_Cfg_Template_IVariableResolver_remarks">Remarks</h2>
  89. <div class="markdown level0 remarks"><p>用于解析配置模板中的变量引用,如 ${App:Name} 或 ${ENV:PATH}</p>
  90. </div>
  91. <h2 class="section" id="properties">Properties
  92. </h2>
  93. <a id="Apq_Cfg_Template_IVariableResolver_Prefix_" data-uid="Apq.Cfg.Template.IVariableResolver.Prefix*"></a>
  94. <h3 id="Apq_Cfg_Template_IVariableResolver_Prefix" data-uid="Apq.Cfg.Template.IVariableResolver.Prefix">
  95. Prefix
  96. </h3>
  97. <div class="markdown level1 summary"><p>解析器前缀(如 &quot;ENV&quot;、&quot;SYS&quot;),为 null 表示默认解析器</p>
  98. </div>
  99. <div class="markdown level1 conceptual"></div>
  100. <div class="codewrapper">
  101. <pre><code class="lang-csharp hljs">string? Prefix { get; }</code></pre>
  102. </div>
  103. <h4 class="section">Property Value</h4>
  104. <dl class="parameters">
  105. <dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
  106. <dd></dd>
  107. </dl>
  108. <h2 class="section" id="methods">Methods
  109. </h2>
  110. <a id="Apq_Cfg_Template_IVariableResolver_Resolve_" data-uid="Apq.Cfg.Template.IVariableResolver.Resolve*"></a>
  111. <h3 id="Apq_Cfg_Template_IVariableResolver_Resolve_System_String_Apq_Cfg_ICfgRoot_" data-uid="Apq.Cfg.Template.IVariableResolver.Resolve(System.String,Apq.Cfg.ICfgRoot)">
  112. Resolve(string, ICfgRoot)
  113. </h3>
  114. <div class="markdown level1 summary"><p>解析变量</p>
  115. </div>
  116. <div class="markdown level1 conceptual"></div>
  117. <div class="codewrapper">
  118. <pre><code class="lang-csharp hljs">string? Resolve(string variableName, ICfgRoot cfg)</code></pre>
  119. </div>
  120. <h4 class="section">Parameters</h4>
  121. <dl class="parameters">
  122. <dt><code>variableName</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
  123. <dd><p>变量名(不含前缀)</p>
  124. </dd>
  125. <dt><code>cfg</code> <a class="xref" href="Apq.Cfg.ICfgRoot.html">ICfgRoot</a></dt>
  126. <dd><p>配置根,用于引用其他配置</p>
  127. </dd>
  128. </dl>
  129. <h4 class="section">Returns</h4>
  130. <dl class="parameters">
  131. <dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
  132. <dd><p>解析后的值,null 表示无法解析</p>
  133. </dd>
  134. </dl>
  135. </article>
  136. </div>
  137. <div class="affix">
  138. <nav id="affix"></nav>
  139. </div>
  140. </main>
  141. <div class="container-xxl search-results" id="search-results"></div>
  142. <footer class="border-top text-secondary">
  143. <div class="container-xxl">
  144. <div class="flex-fill">
  145. Apq.Cfg - .NET 统一配置组件库 (基于 .NET 10.0,兼容 .NET 8.0)
  146. </div>
  147. </div>
  148. </footer>
  149. </body>
  150. </html>