myObject.property1 = value1;
myObject.property2 = value2;
我想通过索引访问属性,例如:
"myObject.property[0]" = value1;
"myObject.property[1]" = value2;
是否可以枚举属性或执行其他操作?
答案 0 :(得分:0)
您可以通过reflection枚举类成员,但这不是您希望在正常情况下用于获取或设置已知类型的值的内容。它不具备性能,编写起来很复杂,不一定是运行时安全的,而且是阅读的噩梦。
答案 1 :(得分:0)
如果你在课堂上公开一个列表,你可以这样做:
class MyClass {
public List<object> property { get; private set; }
public MyClass() {
property = new List<object>(100);
}
}
...
var myObj = new MyClass();
myObj.property[0] = 1;
myObj.property[1] = "hello";
但这不是一个好主意。使用名称公开不同类型的参数通常要好得多,因为编译器可以帮助您避免错误,并且代码将更容易维护。