En C#, ¿cómo puedo averiguar si se puede crear una instancia de Type
? Estoy tratando de evitar una excepción Activator.CreateInstance.Averiguar si el tipo es instanciable
Mi método actual es type.IsClass && !type.IsInterface
, pero me preocupa que esto pueda fallar en las clases abstractas, etc. También consideré revisar type.TypeInitializer == null
, pero no estoy seguro si eso es infalible tampoco.
¿Cuál es la forma más simple/más eficiente posible de averiguar si un Type
es instanciable?
Hay 'type.IsAbstract'. –
Para que sea "seguro", no debería también tener que comprobar IsPublic y propiedades similares en el objeto ConstructorInfo devuelto por GetConstructor(). No lo sé. Estoy preguntando ... –