Вам следует ознакомиться с документацией Savant по Операции без ввода текста . Операции без типов позволяют взаимодействовать с Savant, используя динамически построенные отображения, а не объекты данных / модели. Например, вы можете создать динамическое отображение для вашего класса Person следующим образом:
ItemMapping personMapping = ItemMapping.Create("Person", AttributeMapping.Create("Id", typeof (Guid)));
personMapping.AttributeMappings.Add(AttributeMapping.Create("Name", typeof (string)));
personMapping.AttributeMappings.Add(AttributeMapping.Create("Description", typeof(string)));
personMapping.AttributeMappings.Add(AttributeMapping.Create("DateOfBirth", typeof(DateTime)));
Нет никаких функциональных ограничений при использовании этого метода, потому что эти ItemMappings - то, что Савант использует внутренне для всех операций. Это займет немного больше работы, чтобы понять и настроить ваши отображения с помощью этого метода.
Вот как вы можете получить объект Person, используя этот метод:
Guid personId = Guid.NewGuid();
PropertyValues values = savant.GetAttributes(personMapping, personId);
Person p = PropertyValues.CreateItem(personMapping, typeof(Person), values);