I\'ve got a class with a number of attributes, and I need to find a way to get a count of the number of attributes it has. I want to do this because the class reads a CSV file,
Using Reflection you have a GetAttributes() method that will return an array of object (the attributes).
So if you have an instance of the object then get the type using obj.GetType() and then you can use the GetAttributes() method.
Since the attributes are on the properties, you would have to get the attributes on each property:
Type type = typeof(StaffRosterEntry);
int attributeCount = 0;
foreach(PropertyInfo property in type.GetProperties())
{
attributeCount += property.GetCustomAttributes(false).Length;
}
Please use the following code:
Type type = typeof(YourClassName);
int NumberOfRecords = type.GetProperties().Length;
This is untested and just off the top of my head
System.Reflection.MemberInfo info = typeof(StaffRosterEntry);
object[] attributes = info.GetCustomAttributes(true);
var attributeCount = attributes.Count();