Class SerenityInstallableSystemCatalog
Discovers every SerenityInstallableSystemAttribute-decorated Install*() method
across every loaded Serenity.* assembly, without a compile-time reference to
Serenity.Installation (the attribute is a self-contained data holder resolved by reflection
only), then orders them by their declared DependsOn
prerequisites so a system never precedes anything it requires. Cached after the first scan; call
Invalidate() to force a rescan, e.g. after a domain reload a test suite triggers
deliberately.
Inherited Members
Namespace: Serenity.CreateGame.Infrastructure.Editor.Systems
Assembly: Serenity.UnityCreateGame.Infrastructure.Editor.dll
Syntax
public static class SerenityInstallableSystemCatalog
Properties
Descriptors
Every installable system declared anywhere in the loaded Serenity.* assemblies, in
dependency order (a system never precedes a prerequisite named in its own
DependsOn); among systems that are simultaneously
ready, ties break by Tier then
DisplayName (ordinal).
Declaration
public static IReadOnlyList<SerenityInstallableSystem> Descriptors { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<SerenityInstallableSystem> |
DescriptorsByTier
Descriptors grouped by Tier, one group per tier that has at least one system, in tier order. Within a group, systems keep the dependency order they have in Descriptors.
Declaration
public static IReadOnlyList<IGrouping<SerenityInstallableSystemTier, SerenityInstallableSystem>> DescriptorsByTier { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<IGrouping<SerenityInstallableSystemTier, SerenityInstallableSystem>> |
Methods
FindByInstallMethodName(string)
The descriptor whose InstallMethodName is
installMethodName, or null when no attributed system carries that name.
Declaration
public static SerenityInstallableSystem FindByInstallMethodName(string installMethodName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | installMethodName |
Returns
| Type | Description |
|---|---|
| SerenityInstallableSystem |
Invalidate()
Forces the next Descriptors access to rescan the AppDomain. Test seam.
Declaration
public static void Invalidate()