C# | Type.GetProperties() Method
Last Updated :
10 Dec, 2019
Type.GetProperties() Method is used to get the properties of the current Type. There are 2 methods in the overload list of this method as follows:
- GetProperties() Method
- GetProperties(BindingFlags) Method
GetProperties() Method
This method is used to return all the public properties of the current Type.
Syntax: public System.Reflection.PropertyInfo[] GetProperties ();
Return Value: This method returns an array of PropertyInfo objects representing all public properties of the current Type or an empty array of type PropertyInfo if the current Type does not have public properties.
Below programs illustrate the use of Type.GetProperties() Method:
Example 1:
using System;
using System.Globalization;
using System.Reflection;
public class Empty { }
class GFG {
public static void Main()
{
Type objType = typeof ( string );
try {
PropertyInfo[] type = objType.GetProperties();
Console.WriteLine( "Properties of current type is: " );
for ( int i = 0; i < type.Length; i++)
Console.WriteLine( " {0}" , type[i]);
}
catch (ArgumentNullException e)
{
Console.Write( "name is null." );
Console.Write( "Exception Thrown: " );
Console.Write( "{0}" , e.GetType(), e.Message);
}
}
}
|
Output:
Properties of current type is:
Int32 Length
Char Chars [Int32]
Example 2:
using System;
using System.Globalization;
using System.Reflection;
public class Empty {}
class GFG {
public static void Main()
{
Type objType = typeof (System.Type);
try {
PropertyInfo[] type = objType.GetProperties();
Console.WriteLine( "Properties of current type is: " );
for ( int i = 0; i < 10; i++)
Console.WriteLine( " {0}" , type[i]);
}
catch (ArgumentNullException e)
{
Console.Write( "name is null." );
Console.Write( "Exception Thrown: " );
Console.Write( "{0}" , e.GetType(), e.Message);
}
}
}
|
Output:
Properties of current type is:
System.Reflection.MemberTypes MemberType
System.Type DeclaringType
System.Reflection.MethodBase DeclaringMethod
System.Type ReflectedType
System.Runtime.InteropServices.StructLayoutAttribute StructLayoutAttribute
System.Guid GUID
System.Reflection.Binder DefaultBinder
System.Reflection.Module Module
System.Reflection.Assembly Assembly
System.RuntimeTypeHandle TypeHandle
GetProperties(BindingFlags) Method
This method is used to search for the properties of the current Type, using the specified binding constraints when overridden in a derived class.
Syntax: public abstract System.Reflection.PropertyInfo[] GetProperties (System.Reflection.BindingFlags bindingAttr);
Here, it takes a bitmask comprised of one or more BindingFlags that specify how the search is conducted or Zero, to return null.
Return Value: This method returns an array of PropertyInfo objects representing all properties of the current Type that match the specified binding constraints or an empty array of type PropertyInfo, if the current Type does not have properties, or if none of the properties match the binding constraints.
Example 1:
using System;
using System.Globalization;
using System.Reflection;
class GFG {
public static void Main()
{
Type objType = typeof (Dog);
PropertyInfo[] type = objType.GetProperties(BindingFlags.Instance | BindingFlags.Public);
Console.WriteLine( "Properties of current type is: " );
for ( int i = 0; i < type.Length; i++)
Console.WriteLine( " {0}" , type[i]);
}
}
public class Dog {
private string color, breed, type;
public Dog( string color, string breed, string type)
{
this .color = color;
this .breed = breed;
this .type = type;
}
public String Color
{
get { return color; }
}
public String Breed
{
get { return breed; }
}
public String Type
{
get { return type; }
}
private String BloodGroup
{
get { return "AB+" ; }
}
}
|
Output:
Properties of current type is:
System.String Color
System.String Breed
System.String Type
Example 2:
using System;
using System.Globalization;
using System.Reflection;
class GFG {
public static void Main()
{
Type objType = typeof (Dog);
PropertyInfo[] type = objType.GetProperties(BindingFlags.Instance | BindingFlags.NonPublic);
Console.WriteLine( "Properties of current type is: " );
for ( int i = 0; i < type.Length; i++)
Console.WriteLine( " {0}" , type[i]);
}
}
public class Dog {
private string color, breed, type, bp;
public Dog( string color, string breed,
string type, string bp)
{
this .color = color;
this .breed = breed;
this .type = type;
this .bp = bp;
}
public String Color
{
get { return color; }
}
public String Breed
{
get { return breed; }
}
public String Type
{
get { return type; }
}
protected String BloodGroup
{
get { return "AB+" ; }
}
protected String BloodPressure
{
get { return bp; }
}
}
|
Output:
Properties of current type is:
System.String BloodGroup
System.String BloodPressure
Reference:
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...