我不想使用大量 if 语句来确定需要访问哪个属性,而是想知道是否可以使用占位符之类的东西。
我尝试用占位符编写一些代码,这就是我遇到问题的地方。
if (rootObject.permissions.{commandGroup}.{commandName})
{
//do something
}
这将允许访问的属性根据 commandGroup 和 commandName 中的字符串值进行更改,而无需在 JSON 扩展时使用多个 if 语句。
这是 if 语句的问题:
//Command is an instance of CommandInfo from Discord.Net
string commandGroup = command.Module.Group;
string commandName = command.Name;
if (rootObject.permissions.commandGroup.commandName)
{
//do something
}
以下是 JSON 文件在类中的存储方式:
internal class RootObject
{
public Permissions permissions { get; set; }
public int points { get; set; }
}
internal class Permissions
{
public Response response { get; set; }
}
internal class Response
{
public bool ping { get; set; }
public bool helloWorld { get; set; }
}
例如,如果 commandGroup 是 Response 并且 commandName 是 ping,我将如何使用 if 语句来确定值是否存储在 rootObject.permissions.response.ping 中。
catspeake
弑天下
相关分类