Можно ли смешивать значения свойств инъекций с моделями данных инъекций? - PullRequest
0 голосов
/ 02 июля 2019

У меня есть модель данных, определенная в классе c #. Я хочу добавить это в шаблон StringTemplate. Я также хочу добавить свойства в тот же шаблон. Однако я, похоже, не могу сделать и то и другое одновременно.

Я пробовал простой шаблон, использующий совокупное внедрение и внедрение класса - которые, кажется, работают отдельно, но не вместе.

// Объявления

var strTemplate = "<Entry.a> <Entry.b> <Entry.x> <Entry.y> <Entry.z>";
var test1 = new StringTemplate(strTemplate);
var test2 = new StringTemplate(strTemplate);
var test3 = new StringTemplate(strTemplate);

// Тест 1 - работает как положено

test1.AddMany("Entry.{a,b}", "Hello", "World");
string res1 =test1.Render();

// Тест 2 - работает как положено

var data = new { x=1,y=2,z=3};
test2.Add("Entry", data);
string res2 =test2.Render();

// Тест 3 - не работает - пустой вывод

test3.AddMany("Entry.{a,b}", "Hello", "World");
test3.Add("Entry", data);
string res3 =test3.Render();

// Результаты получены

// test1 res1 = "Hello World";

// test2 res2 = "1 2 3"

// test3 res3 = ""

// Ожидаемые результаты

// test1 res1 = "Hello World";

// test2 res2 = "1 2 3"

// test3 res3 = "Hello World 1 2 3"

...