Metoda jest "brakująca" z .NETStandard 1.0, i myślałem, że TypeInfo.GenericTypeArguments
był zamiennikiem dla GetGenericArguments()
, ale niestety zachowują się inaczej, gdy są dostarczane z otwartym typem ogólnym. Weźmy na przykład następujące kod:Co to jest odpowiednik Type.GetGenericArguments() w .NETStandard 1.0/.NET Core?
Type type = typeof(ICommandHandler<>);
type.GetGenericArguments(); // return { TCommand }
type.GetTypeInfo().GenericTypeArguments; // returns empty array
Chociaż sposób GetGenericArguments()
zwraca ogólny typ argumentu TCommand
The GenericTypeArguments
prostu powraca pustą tablicę w tym samym otwartych ogólny typ.
Jakie jest dokładne zachowanie GenericTypeArguments
i jaki jest odpowiednik Type.GetGenericArguments()
w .NET Standard 1.0?
@DavidL: .NETStandard jest [on NET Biblioteka standardowa jest formalna specyfikacja .NET API, które mają być dostępne na wszystkich .NET runtimes] (https://docs.microsoft.com/en-us/dotnet/articles/standard/library). .NET 1.0 jest ooooold, a .NETStandard jest nowy; nowy PCL jest bardziej precyzyjny. – Steven
Uwaga jeden jest standardem, a drugi jest implementacją standardu. Z artykułu: ".NET Core 1.0 implementuje .NET Standard Library 1.6" – AaronLS
Dodatkowo, zgodnie z tym wykresem, jedyną implementacją .NET Standard 1.0 był Windows Phone Silverlight 8.0. – AaronLS