Casting PropertyInfo.getValue () к типу, когда тип не нулевойC#

Место общения программистов C#
Ответить
Anonymous
 Casting PropertyInfo.getValue () к типу, когда тип не нулевой

Сообщение Anonymous »

Рассмотрим этот пример код: < /p>

Код: Выделить всё

var properties = c.GetType().GetProperties();
// note that c is a System.Windows.Forms.Control

foreach( var p in properties )
{
if (p.PropertyType.Name.Contains("Color") )
{
var colour_value = p.GetValue(c,null);

// I need to cast colour_value to a Color
}
}
Мне нужно отменить вывод из P.GetValue (c, null) на систему. Drawing.color . Я видел другие вопросы, где в аналогичной ситуации люди либо предложили: < /p>

Код: Выделить всё

(Color) p.GetValue(c, null)
< /code>
или < /p>
p.GetValue(c, null) as Color
Но они не работают, потому что цвет -не нулеваемый тип значения. Поэтому он бросает ошибку компилятора CS0077.
Есть ли способ сделать это, пожалуйста?

Подробнее здесь: https://stackoverflow.com/questions/794 ... n-nullable
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»