为了账号安全,请及时绑定邮箱和手机立即绑定

从数据中获取值(不是列表或字典)

从数据中获取值(不是列表或字典)

C#
繁华开满天机 2021-07-20 17:00:34
对不起,我是新手,我不知道如何在标题中正确地提出我的问题。我有一个数据库:class PlayerData    {        public ulong id;        public string name;        public int kills;        public int deaths;    }我想返回与请求的键对应的值object getStats(ulong uid, string stat)    {        var player = BasePlayer.FindByID(uid);        PlayerData data = PlayerData.Find(player);        object value = data.TryGetValue(stat); // I know this ain't right        return value;    }例子:int kills = getStats(123456, kills); //will ask for the value of "kills" in the data. Return data.killsstat 可以是数据中的任何内容(id、名称、杀戮数、死亡数)
查看完整描述

2 回答

?
森栏

TA贡献1810条经验 获得超5个赞

我想您在这里尝试做的是根据对象名称获取对象值?如果是这种情况,我认为您可以使用反射来实现这一点。

示例代码:


class PlayerData

{

    public ulong id;

    public string name;

    public int kills;

    public int deaths;

}


object getStats(ulong uid, string stat)

{

    var player = BasePlayer.FindByID(uid);

    PlayerData data = PlayerData.Find(player);


    object value = data.GetType().GetProperty(stat).GetValue(data, null);


    return value;

}


查看完整回答
反对 回复 2021-07-31
  • 2 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信