Я использовал Activator.CreateInstance() в некоторых моих кодах. Есть ли риск создать экземпляр, используя это?Activator.CreateInstance()
4
A
ответ
12
Ну, существует риск того, что ваш код будет слабо напечатан, и вы не узнаете, что вы случайно попытались использовать его с типом, который не имеет открытого конструктора без параметров до времени выполнения ... и это будет немного хуже, чем прямой вызов конструктора. Кроме этого, все должно быть в порядке.
Если вы можете спроектировать вокруг него, чтобы использовать сильно типизированные фабрики, это было бы предпочтительнее различными способами, но я полностью понимаю, что это не всегда уместно. В принципе, это должно быть немного последним приемом для тех случаев, когда нормальные шаблоны проектирования не позволяют вам, но это вполне разумный последний регресс :)
У вас есть какие-то особые проблемы?