У меня есть интерфейс ITranslateStuff и статический класс и метод с общим параметром, который ограничен (где class, ITranslateStuff, new()).
string translation = Translator.TranslateStuff<ITranslateStuff>();
В зависимости от того, какую реализацию ITranslateStuff я передаю, метод возвращает другую строку.
У меня есть ViewModels с множеством разных свойств, которые возвращают реализации ITranslateStuff, например:
public class ExampleViewModel
{
public string OtherStuff {get; set; }
public string TranslateStuffExample1 Translations { get; set; }
public ExampleViewModel2 SubModel {get; set; }
}
public class ExampleViewModel2
{
public string MoreStuff { get; set; }
public string TranslateStuffExample2 Translations { get; set; }
}
где и DoStuffExample1, и DoStuffExample2 реализуют ITranslateStuff.
В настоящее время я заполняю все эти свойства таким кодом:
model.Translations = Translator.TranslateStuff<TranslateStuffExample1>();
model.SubModel.Translations = Translator.TranslateStuff<TranslateStuffExample2>();
В проекте мы используем StructureMap. Я хочу избежать установки всех свойств в моей модели представления вручную с помощью одного и того же вызова статического метода. У меня есть ActionFilter, где я устанавливаю общие свойства в своей модели представления, и я думал, что хочу сделать это и в фильтре действий.
Я пытался найти что-то в StructureMap, что может сделать это для меня.
Как я могу это решить?