我有一个具有多个属性的类,我需要找到一种方法来计算它所具有的属性的数量。我想这样做是因为该类读取 CSV 文件,如果属性数 (csvcolumns) 少于文件中的列数,则需要发生特殊情况。这是我的类(class)的示例:
public class StaffRosterEntry : RosterEntry
{
[CsvColumn(FieldIndex = 0, Name = "Role")]
public string Role { get; set; }
[CsvColumn(FieldIndex = 1, Name = "SchoolID")]
public string SchoolID { get; set; }
[CsvColumn(FieldIndex = 2, Name = "StaffID")]
public string StaffID { get; set; }
}
我试过这样做:
var a = Attribute.GetCustomAttributes(typeof(StaffRosterEntry));
var attributeCount = a.Count();
但是这个失败得很惨。非常感谢您提供的任何帮助(某些文档的链接、其他答案或简单的建议)!
最佳答案
请使用以下代码:
Type type = typeof(YourClassName);
int NumberOfRecords = type.GetProperties().Length;
关于c# - 如何获取对象具有的属性数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4161175/