.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.
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.