获取具有属性的属性

时间:2013-06-18 21:22:18

标签: c#

我正在尝试解决如何从类中获取所需属性的问题。我可以使用GetPropertiesForSerialization之类的功能,但我想使用Attributes。我的想法是一些类属性将具有属性

class C{
  [MyAttribute(1,picture)]
  private string picture = "my.jpg";
  [MyAttribute(2,Name)]
  public string Name= "myName";
}

现在我来自其他班级我想获得属性

private void PrintAttributes(){
  //Get list or other container with attibutes
  var c = new C();
  foreach( var item in C.GetMyAttributes()){
    Console.WriteLine(item);
  }
}

我知道如何获取功能等属性,但不知道如何在不知道属性名称和保护(公共/私有)的情况下获得所有这些属性。

1 个答案:

答案 0 :(得分:1)

您可以使用反射myObject.GetType().GetProperties()获取所有属性,然后检查每个属性的属性。