我试图在我的代码中动态更改属性类型,例如,在 Person 类下面如何将属性 name 类型从bool更改为字符串?
public class Person
{
public bool name;
}
答案 0 :(得分:4)
如果你想在运行时这样做,你有不同的选择。其中一些:
1)制作属性对象并在任何地方使用它检查类型:
public class Person
{
public object Name;
}
2)为Person创建一个泛型类型,允许您为不同类型定义类的不同实例:
public class Person<T>
{
public T Name;
}
var boolPerson = new Person<bool>();
boolPerson.Name = true;
var stringPerson = new Person<string>();
stringPerson.Name = "aString";
但是你应该解释为什么要这样做,因为可以有更好的解决方案。
答案 1 :(得分:0)
查看this(您可以创建动态对象并在运行时更改该对象)。