Casting PropertyInfo.getValue () zu einem Typ, wenn der Typ nicht nullbar ist
Posted: 13 Feb 2025, 06:27
				
				Betrachten Sie diesen Beispielcode: < /p>
Ich muss die Ausgabe von p.getValue (c, null)  auf ein System gießen.Drawing.Color . Ich habe andere Fragen gesehen, in denen die Leute in einer ähnlichen Situation entweder vorgeschlagen haben: < /p>
Aber diese funktionieren nicht, da Color  ein nicht nullbarer Werttyp ist. Es führt daher den Compiler -Fehler CS0077 aus. 
Gibt es eine Möglichkeit, dies zu tun, bitte?
			Code: Select all
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
}
}
Code: Select all
(Color) p.GetValue(c, null)
< /code>
oder < /p>
p.GetValue(c, null) as Color
Gibt es eine Möglichkeit, dies zu tun, bitte?