有没有一种方法可以将类'members'作为一等值进行传递?
public class Bike {
public Color BikeColour { get; set; }
public bool IsGirlsBike { get; set; }
}
我希望能够直接引用字段名称,而不涉及任何对象的概念。
我想要的可能是类似于枚举的东西:
public enum BikeFields {BikeColour, IsGirlsBike};
但是没有明确定义它。
在C#中有没有一种方法可以做到这一点?
编辑:非常抱歉我表达得不够清楚;我希望能够将类成员作为第一类事物(几乎像一个绑定类型)进行引用。
Set<Bike:T> whichFieldsHaveBeenDrawn = new Set<Bike:T>();
Bike:T未定义,我希望下面的插图能清楚地说明这种新类型将如何工作。
whichFieldsHaveBeenDrawn.Include(Bike.BikeColour);
var remainingFields = Set.Subtract(Bike.GetAllFields(), whichFieldsHaveBeenDrawn);
Bike b = new Bike();
foreach (var field in remainingFields) { Draw(field, b); }
我认为可以使用反射来实现这一点,但我希望在编译时进行限定...
MemberInfo
)。 - Damien_The_Unbeliever