这个代码可能吗?
本文关键字:代码 | 更新日期: 2023-09-27 18:07:20
我玩一个游戏,我有一个c#编写的源代码,我试图使一个命令。假设我有这些常量:
public class Flags {
public const ulong
Normal = 0x0,
FlashingName = 0x1,
Dizzy = 1UL << 58,
DivineShield = 1UL << 57,
Poisoned = 0x2
}
我想试试这样的命令:
case "addflag":{
client.Entity.AddTopStatus(Update.Flags.(Data[1]), DateTime.Now.AddDays(1), false);
break;
}
在游戏中我将输入@addflag Dizzy(在常量中代替(data[1])),有点像如果命令是:
client.Entity.AddTopStatus(Update.Flags.Dizzy, DateTime.Now.AddDays(1), false);
,但由于(data[1])在那里,我可以通过命令来执行,而不是直接调用它。我可以选择任意常数,而不是单独调用每个常数。
这段代码我得到了一个错误,但这是预料之中的。有什么办法可以帮我吗?(我希望你们能理解我,我不是很擅长c#所以抱歉,如果这是混乱的)
选择Flags
和enum
,然后使用Enum。解析将data[1]
转换为相应的标志
public enum Flags : ulong
{
Normal = 0x0,
FlashingName = 0x1,
Dizzy = 1UL << 58,
DivineShield = 1UL << 57,
Poisoned = 0x2
}