Sim*_*eon 2 c# variables class list
我如何获得一个类中所有变量的列表,以用于另一个类中以指示例如哪些变量可以被其更改。这主要是因为在更改或添加某些变量时不必重写枚举。
编辑:我想创建一个具有一些可修改的统计信息的类(主),以及另一种类型的类(ModifyingObject),该类具有可更改的数量以及数量的列表。我想轻松地获取主类的变量,并添加修改类会更改哪些变量的列表。如果我假设有10个变量用于不同的统计信息,那么我如何轻松地列出Maining类中ModifyingObject类可以更改的所有统计信息。
public class Main{
float SomeStat = 0;
string SomeName = "name";
List<ModifyingObject> objects;
bool CanModifyStatInThisClas(ModifyingObject object){
//check if the custom object can modify stats in this class
}
}
public class ModifyingObject{
....
}
Run Code Online (Sandbox Code Playgroud)
您可以使用反射。
例:
class Foo {
public int A {get;set;}
public string B {get;set;}
}
...
Foo foo = new Foo {A = 1, B = "abc"};
foreach(var prop in foo.GetType().GetProperties()) {
Console.WriteLine("{0}={1}", prop.Name, prop.GetValue(foo, null));
}
Run Code Online (Sandbox Code Playgroud)
从这里:如何获取类的属性列表?
属性具有您可能感兴趣的属性(properties)CanRead和CanWrite。
文档:http : //msdn.microsoft.com/zh-cn/library/system.reflection.propertyinfo.aspx
不过,您的问题有点含糊。这可能不是最佳解决方案……在很大程度上取决于您的工作。