gpt4 book ai didi

c# - 如何在C#中获取类中的变量列表

转载 作者:行者123 更新时间:2023-12-02 20:35:31 28 4
gpt4 key购买 nike

如何获取一个类中所有变量的列表,以便在另一个类中使用,以指示哪些变量将被并且可以被它更改。这主要是为了在更改或添加某些变量时不必重写枚举。

编辑:我想创建一个具有一些可以修改的统计信息的类(Main),以及另一种类型的类(ModifyingObject),该类具有可以更改的所有统计信息及其修改量的列表。我想轻松获取主类的变量,并添加修改类更改哪些变量的列表。如果我有 10 个不同统计数据的变量,我如何轻松列出 ModifyingObject 类可以在 Main 类中更改的所有统计数据。

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{
....
}

最佳答案

您可以使用反射。

示例:

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));
}

从这里:How to get the list of properties of a class?

属性有您可能感兴趣的属性(属性)CanReadCanWrite

文档:http://msdn.microsoft.com/en-us/library/system.reflection.propertyinfo.aspx

不过,你的问题有点含糊。这可能不是最好的解决方案...很大程度上取决于您正在做什么。

关于c# - 如何在C#中获取类中的变量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15936212/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com