I am migrating a library project to a .net standard and I am getting the following compilation error when I try to use the System.Reflection API to call Type:GetProperties():
Type does not contain a definition for 'GetProperties'
Here it is my project.json:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable"
},
"dependencies": {},
"frameworks": {
"netstandard1.6": {
"dependencies": {
"NETStandard.Library": "1.6.0"
}
}
}
}
What am I missing?
GetProperties() Returns all the public properties of the current Type.
Instance | BindingFlags. Static (in Visual Basic, combine the values using Or ) to get it. The search for name is case-sensitive. The search includes public static and public instance properties.
Update: with .NET COre 2.0 release the System.Type come back and so both options are available:
typeof(Object).GetType().GetProperties()typeof(Object).GetTypeInfo().GetProperties()
This one requires adding using System.Reflection;
typeof(Object).GetTypeInfo().DeclaredProperties
Notice that this property returns IEnumerable<PropertyInfo>, not PropertyInfo[] as previous two methods.
Most reflection-related members on System.Type are now on System.Reflection.TypeInfo.
First call GetTypeInfo to get a TypeInfo instance from a Type:
typeof(Object).GetTypeInfo().GetProperties();
Also, don't forget to use using System.Reflection;
As of writing this, GetProperties() is now:
typeof(Object).GetTypeInfo().DeclaredProperties;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With