---
title: clsAssemblyResourceManager
summary: API reference for clsAssemblyResourceManager.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Resources
reference_type: package
---


# clsAssemblyResourceManager

Concrete resource manager that reads culture-specific embedded resources from an assembly manifest.

## Purpose

- Load embedded text templates from a supplied assembly and delegate tokenization to `clsResourceManager`.

## Context

- Namespace: `SAIF.Resources`
- Assembly/package: `SAIF.ResourceFiles`

## Public members

| Member | Signature | Purpose |
| --- | --- | --- |
| `Dll` | `Public ReadOnly Property Dll As Assembly` | Returns the assembly searched for embedded resources. |
| `New` | `Public Sub New(dll As Assembly)` | Initializes the manager with the assembly that contains embedded resource templates. |
| `LoadResource` | `Public Overloads Sub LoadResource(inResourceName As String, inTemplateExtension As String, inCultureCode As String, inNamespace As String)` | Loads a resource using an explicit namespace override when resolving the manifest resource name. |
| `LoadResource` | `Public Overrides Sub LoadResource(inResourceName As String, inTemplateExtension As String, inCultureCode As String)` | Loads a resource using the assembly name as the manifest resource namespace root. |

## Inherited public members

Members in this section are inherited from `clsResourceManager` in `SAIF.Resources`. They remain part of this type's public surface through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `TokenStartDelimiter` | `Public Shared Property TokenStartDelimiter As String` | Gets or sets the opening delimiter used when parsing tokens. | `SAIF.Resources` — `clsResourceManager` |
| `TokenEndDelimiter` | `Public Shared Property TokenEndDelimiter As String` | Gets or sets the closing delimiter used when parsing tokens. | `SAIF.Resources` — `clsResourceManager` |
| `Text` | `Public ReadOnly Property Text As String` | Returns the original loaded template text. | `SAIF.Resources` — `clsResourceManager` |
| `ReplacedText` | `Public ReadOnly Property ReplacedText As String` | Returns the current template text after token replacement operations. | `SAIF.Resources` — `clsResourceManager` |
| `Tokens` | `Public ReadOnly Property Tokens As List(Of Token)` | Returns the discovered tokens for the currently loaded text. | `SAIF.Resources` — `clsResourceManager` |
| `New` | `Public Sub New(text As String)` | Initializes the manager with template text and immediately tokenizes it. | `SAIF.Resources` — `clsResourceManager` |
| `LoadResource` | `Public Sub LoadResource(inResourceName As String, Optional inTemplateExtension As String = "html")` | Loads a resource using the current thread UI culture and the specified extension. | `SAIF.Resources` — `clsResourceManager` |
| `LoadResource` | `Public Overridable Sub LoadResource(inResourceName As String, inTemplateExtension As String, inCultureCode As String)` | Culture-aware load hook for concrete implementations. | `SAIF.Resources` — `clsResourceManager` |
| `GetToken` | `Public Function GetToken(inTokenName As String) As Token` | Returns the token whose name matches the supplied token identifier. | `SAIF.Resources` — `clsResourceManager` |
| `ReplaceToken` | `Public Function ReplaceToken(inTokenName As String, inReplacement As String) As String` | Replaces every occurrence of the named token in the current text and returns the updated result. | `SAIF.Resources` — `clsResourceManager` |
| `ReplaceToken` | `Public Shared Function ReplaceToken(text As String, inTokenName As String, inReplacement As String) As String` | Performs one-off token replacement against the supplied text without requiring a preexisting manager instance. | `SAIF.Resources` — `clsResourceManager` |

## Behavioral notes

- The four-argument `LoadResource` overload derives a namespace when none is supplied, resolves the manifest resource name, and reads the stream when present.
- When the exact culture-specific manifest resource is missing, the class retries with a two-letter culture code and then with no culture suffix.

## Constraints and usage notes

- The default assembly is `Assembly.GetExecutingAssembly()` until a different assembly is supplied through the constructor.
- If the manifest resource cannot be resolved after fallback, the method returns without loading content.

## Sources

- `Resources\SAIF.Resources\clsAssemblyResourceManager.vb`
- `Resources\SAIF.Resources\clsResourceManager.vb`
- `Resources\SAIF.Resources\SAIF.BOF.ResourceFiles.vbproj`
