c# - 如何从 C# 中的选定类中获取变量的值?
问题描述
我想在一个类的几个变量中获取所需变量的值
当我将字符串和类放入方法中时,该方法返回与类中包含的所有变量中接收到的字符串同名的变量的值。
该方法可以获取任何类型的类。所以这个方法需要使用泛型。
有人对我的问题有好主意吗?
public class A
{
public int valA_int;
public string valA_string;
public float valA_float;
public long valA_long;
}
public class B
{
public int valB_int;
public string valB_string;
public float valB_float;
public long valB_long;
}
public static class Method {
public static object GetvalueFromClass<T>(string varName, T classType) {
//Find val from class
return object;
}
}
public class Program {
public A aClass;
public B bClass;
public void MainProgram() {
object valA_int = Method.GetvalueFromClass("valA_int", aClass);
object valB_long = Method.GetvalueFromClass("valB_long", bClass);
}
}
方法的概念是这样的。
请帮我找出我的问题。
解决方案
您的任务已经定义。
如果你使用
#{Class}.GetType().GetProperty(#{VariableName}).GetValue(#{DefinedClass}, null);
您可以使用变量名轻松地从您的类中获取变量。
它返回变量作为对象。所以你需要转换它
示例代码
CLASS YourClass = [A CLASS WHICH IS PRE DEFINED];
object Target = YourClass.GetType().GetProperty("YOUR VARIABLE").GetValue(YourClass , null);
推荐阅读
- prolog - 框架结合了 Apache Jena 和 Prolog 处理生产规则、三元组的功能
- neo4j - 如何在 neo4j 中从 csv 创建节点和关系
- javascript - 在不知道其键的情况下操作对象值
- omnet++ - Inet 4.2 是否支持部分重叠的通道?
- django - 如何过滤哨兵上的错误以避免消耗我的配额?
- linux - 如何在linux中借助du获取目录中所有文件的组合磁盘空间
- pandas - Pandas:如何将日期时间转换为 %H:%H 并保持日期时间格式?
- python - 如果将“子”对象分配给 SQLAlchemy 中的“关系”,如何在“父”对象上设置属性?
- ios - 关于在 Swift 的静态 tableviewController 中放置固定按钮的问题
- mysql - 如何在 SQL 中查询字典类型的列值?