Intento establecer una propiedad Nullable <> dinámicamente.Establecer propiedad Nullable <> por reflexión
Obtengo mi propiedad por ejemplo:
PropertyInfo property = class.GetProperty("PropertyName"); // My property is Nullable<> at this time So the type could be a string or int
Quiero configurar mi propiedad por la reflexión como
property.SetValue(class,"1256",null);
No está funcionando cuando mi propiedad es un anulable <> genérico. Entonces trato de encontrar una manera de establecer mi propiedad.
conocer el tipo de mi anulable <> propiedad ejecuto
Nullable.GetUnderlyingType(property.PropertyType)
Alguna idea?
intento crear una instancia de mi anulable <> propiedad con
var = nullVar Activator.CreateInstance (typeof (anulable <>). MakeGenericType (nuevo tipo [] {Nullable.GetUnderlyingType (propiedad .Tipo de propiedad) }));
Pero nullVar siempre es nulo
¿Funciona cuando se establece un entero en lugar de una cadena? '" 1256 "' es una cadena, no un número entero. –
Funcionará, pero el punto es que no sé el tipo de propiedad que admite valores NULL. Podría usar Nullable.GetUnderlyingType (property.PropertyType) para obtener el tipo –
'Nullable <>' no puede usar 'string' para el tipo subyacente ya que' string' es un tipo de referencia. En otras palabras, 'typeof (Nullable <>). MakeGenericType (t);' estará bien si 't == typeof (int)', pero explotará (restricción no cumplida) con 't == typeof (string)' . Por lo tanto, 'Nullable <>' no actuará de ninguna manera como un tipo de "tipo común" para los tipos de referencia y los tipos de valor que aceptan valores. –