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