我正在尝试解决如何从类中获取所需属性的问题。我可以使用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);
}
}
我知道如何获取功能等属性,但不知道如何在不知道属性名称和保护(公共/私有)的情况下获得所有这些属性。
答案 0 :(得分:1)
您可以使用反射myObject.GetType().GetProperties()
获取所有属性,然后检查每个属性的属性。