У меня есть конкретные типы для интерфейсов, настроенных при запуске, но я хочу создавать экземпляры конкретного типа во время выполнения с настройкой свойств или установкой различных значений в конструкторе. Все создаваемые экземпляры, которые я вижу, знают, что такое конкретный тип, во время выполнения я не знаю конкретный тип. Есть ли способ создать конкретный экземпляр интерфейса / класса, не зная конкретный тип? Вот что я видел:
[Test]
public void DeepInstanceTest_with_SmartInstance()
{
assertThingMatches(registry =>
{
registry.ForRequestedType<Thing>().TheDefault.Is.OfConcreteType<Thing>()
.WithCtorArg("name").EqualTo("Jeremy")
.WithCtorArg("count").EqualTo(4)
.WithCtorArg("average").EqualTo(.333);
});
}
OR
var container = new Container(x =>
{
x.ForConcreteType<SimplePropertyTarget>().Configure
.SetProperty(target =>
{
target.Name = "Max";
target.Age = 4;
});
});
Я хочу сделать что-то подобное ... но не знаю конкретного типа .... только абстрактный класс или интерфейс (в этом случае будут иметь свойства). Хотя конкретный тип настроен.