Why don't we have IsValueType() method anymore?
Workaround is easy typeof(xy).GetTypeInfo().IsValueType, but migration of existing code is painful.
That's the split of Type into Type and TypeInfo originally introduced in Windows 8 store apps. .Net Core followed this model, but it will move back in the next version:
Reflection will become the same as the .NET Framework, no need for
GetTypeInfo(), good old.GetType()is back.
@terrajobst, for example in this case, would that new version of the System.Reflection[.TypeExtensions] package support netstandard1.3 onwards? That would break the existing implementations where folks have already doing #if NETSTANDARD1_3 || NETSTANDARD1_4 .. will upgrade the S.R[.TE] dependency, right?
Or would it only support netstandared1.7 and folks who want their libraries supported on TxMs >= net45 would need to have fallback implementation for 1.3-1.6?
It would be very helpful if we can move that back. We are migrating right now some older libraries (2 years very old :)) and experiencing lot of work. because of moving of many properties and methods from Type to TypeInfo.
It can be a pain in the ass, I was working on a port here but I got my face into (OMG there is no DataTable class D:), for Types and TypeInfos I was using "Replace all in files": "IsInterface" for "GetTypeInfo().IsInterface"", wasn't too hard (but sure dispendious).
Still wondering, there is no MySQL, no System.Data, "NetStandard/NetCoreApp" seems to be growing into a good thing, but it's still shallow, not to compete with the Python (or the old .Net) yet, but at one point it might be hulksmashing.
This will happen as part of our api restoration work for 2.0. No need to track the apis with individual issues.
Most helpful comment
That's the split of
TypeintoTypeandTypeInfooriginally introduced in Windows 8 store apps. .Net Core followed this model, but it will move back in the next version: