Я хочу вызвать метод Create
из любой программы, чтобы соответствовать тому, какой тип класса передается на основе во время выполнения операции.Как разрешить настраиваемый тип при передаче объекта в качестве аргумента
Так что проблема заключается в том, как разрешить анонимный тип при передаче частным методам?
Я звоню из:
_productService.Create<Supplier>(_supplier);
Для моего метода класса:
public class ProductService
{
public void Create<T>(T obj)
{
switch (obj.GetType().Name)
{
case "Supplier":
Supplier(); //Call Supplier Method;
break;
case "Product":
Product(); //Call Supplier Method;
break;
default:
break;
}
}
private void Supplier<T>(T s)
{
//statements
}
private void Product()
{
//statements
}
}
Если вы используете кожух переключателя с твердыми закодированными строками в соответствии с типом объекта, то вся идея Дженерики не имеет смысла Вот. Это может быть легко реорганизовано с некоторыми из хорошо известных шаблонов проектирования. Пожалуйста, не спрашивайте меня, каковы эти шаблоны дизайна :-) взгляните на dofactory.com – Thangadurai