我需要传递某些类型的属性选择(每次一种类型),假设这是我的类型:
public class Product {
[PrimaryKey]
public long Id { get; set; }
[DisplayName("Name")]
public string Title { get; set; }
[Foreignkey(Schema = "Products", Table = "MajorCategory", Column = "Id")]
[DisplayName("MCat")]
public string MajorCategory { get; set; }
[Foreignkey(Schema = "Products", Table = "Category", Column = "Id")]
[DisplayName("Cat")]
public string Category { get; set; }
public long CategoryId { get; set; }
[BoolAsRadio()]
public bool IsScanAllowed { get; set; }
}
所以我需要一种方法将这种类型的属性列表传递给其他类型(目标类型),并使用属性名称和属性,我不需要值,类似于以下伪代码:
List<Property> propertyList = new List<Property>();
propertyList.Add(Product.Id);
PropertyList.Add(Product.Title);
TargetType target = new TargetType();
target.Properties = propertyList;
public class TargetType {
public List<Property> Properties { get; set;}
GetAttributes() {
foreach(Property item in Properties){
Console.WriteLine(item.Name)
//Get Attributes
}
}
}
有什么方法可以传递Product.Id
并使用它的名称和属性吗?我不确定,但也许PropertyInfo
可以提供帮助,我认为可以传递对象列表,但在这种情况下我不能使用属性和名称,你有什么建议来处理这个问题?或类似的东西?如果我完全错了,我该如何实施呢?