Holen Sie Sich Art Der Unterkunft.Namen in der Reflexion von Nullable-Typ
Möchte ich die Verwendung der besinnung für die Eigenschaften geben.
das ist mein code
var properties = type.GetProperties();
foreach (var propertyInfo in properties)
{
model.ModelProperties.Add(
new KeyValuePair<Type, string>
(propertyInfo.PropertyType.Name,
propertyInfo.Name)
);
}
dieser code propertyInfo.PropertyType.Name
ist ok, aber wenn meine Art der Immobilie ist Nullable
bekomme ich diese Nullable'1
string und wenn schreiben FullName
wenn diese stirng System.Nullable1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
- Ist es ein Nullable<DateTime>?
- Und was ist die Zeichenfolge, die Sie möchten, zu bekommen? Wie es aussieht, haben die Eigenschaften/Methoden auf Art der Unterkunft, das erlaubt Ihnen den Zugriff auf die generischen Parameter den Typ.
- stackoverflow.com/questions/5174423/...
- Siehe die Antwort. Es erstellt einen lesbaren Namen für generische und nicht-generische Typen (
System.Nullable<System.Int32>
zum Beispiel).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern Sie Ihren code für nullable-Typ, in diesem Fall nehmen Art der Unterkunft als der erste generische argument:
Dies ist eine alte Frage, aber ich lief in diese als gut. Ich mag @Igoy Antwort, aber es funktioniert nicht, wenn der Typ ein array ist eine nullable-Typ. Dies ist meine Erweiterung Methode, mit der eine beliebige Kombination der null - /generischen und array. Hoffentlich wird es nützlich sein, jemand mit der gleichen Frage.
Dieser wird mit Fällen umgehen, so kompliziert wie diese:
Gibt: