Die Methode System.Type.GetGenericArguments()
'fehlt' von .NETStandard 1.0, und ich dachte, dass die TypeInfo.GenericTypeArguments
der Ersatz für GetGenericArguments()
ist, aber leider verhalten sie sich anders, wenn sie mit einem offenen generischen Typ geliefert werden. Nehmen Sie zum Beispiel des folgenden Code:Was entspricht Type.GetGenericArguments() in .NETStandard 1.0/.NET Core?
Type type = typeof(ICommandHandler<>);
type.GetGenericArguments(); // return { TCommand }
type.GetTypeInfo().GenericTypeArguments; // returns empty array
Während die GetGenericArguments()
Verfahren des gattungs Argument TCommand
zurückgibt, die GenericTypeArguments
einfach ein leeres Array zurück, für den gleichen Open-generischen Typen. Wie lautet das genaue Verhalten von GenericTypeArguments
und was entspricht Type.GetGenericArguments()
in .NET Standard 1.0?
@DavidL: .NETStandard ist ein [er .NET Standard Library eine formale Spezifikation von .NET APIs ist, die auf alle .NET verfügbar sein sollen Laufzeiten] (https://docs.microsoft.com/en-us/dotnet/articles/standard/library). .NET 1.0 ist ooooold, während .NETStandard neu ist; die neue PCL, um genauer zu sein. – Steven
Hinweis 1 ist ein Standard und einer ist eine Implementierung des Standards. Aus dem Artikel: ".NET Core 1.0 implementiert die .NET-Standardbibliothek 1.6" – AaronLS
Außerdem laut diesem Diagramm war die einzige Implementierung von .NET Standard 1.0 Windows Phone Silverlight 8.0. – AaronLS