Skip to content
KajayDocs
.NETSDK neutralextension

Extend Kajay.Core

Compose immutable metadata registries and native custom question factories.

Compose an immutable registry

Start from SurveyDefinitionRegistry.Default. Each WithProperty or WithClass call returns a new registry, so configured registries are safe to reuse across definitions and parallel survey sessions.

SurveyExtensions.cscsharp
using Kajay;
using Kajay.Extensibility;

SurveyDefinitionRegistry registry = SurveyDefinitionRegistry.Default.WithProperty(
    "question",
    new SurveyDefinitionPropertyRegistration(
        "analyticsKey",
        SurveyDefinitionPropertyType.Text));

SurveyDefinitionParseResult parsed = SurveyDefinition.Parse(json, registry);

Register native question implementations

A concrete custom question type may supply a SurveyQuestionFactory. Factories receive a SurveyQuestionFactoryContext and must preserve the same explicit-clock and cancellation conventions as built-in adapters.

Keep the extension portable

Custom metadata belongs in the definition contract; platform presentation and environmental I/O stay in the host. A C# factory does not make its implementation portable to TypeScript.