gpt4 book ai didi

C# 无法访问 Enum 类变量

转载 作者:行者123 更新时间:2023-12-04 17:00:04 25 4
gpt4 key购买 nike

我创建了以下类:

namespace com.censureret.motions
{
public class EnumPlayerStances {
public const int OneHandSword = 50;

/// <summary>
/// Friendly name of the type
/// </summary>
public static string[] Names = new string[] {
"One handed Sword"
};
}
}
现在我希望在我的以下类(class)中使用它:
namespace com.censureret.motions{
public class OneHandSword_Idle : MotionControllerMotion
{
public override bool TestActivate()
{
if (!mIsStartable) { return false; }
if (!mMotionController.IsGrounded) { return false; }

if (mActorController.State.Stance != EnumPlayerStances.OneHandSword)

return false;
}

}
}
但是 Visual Studio 说这是一个错误。
我对 C# 相当陌生。接下来我可以尝试什么?

最佳答案

你打败了一个枚举点。它应该像这样声明和使用:

using System;

namespace StackOverflow_Events
{
class Program
{
static void Main(string[] args)
{
string enumName = Enum.GetName(typeof(EnumPlayerStances), EnumPlayerStances.One_Handed_Sword).Replace("_", " ");
int value = (int)EnumPlayerStances.One_Handed_Sword;
var example = EnumPlayerStances.One_Handed_Sword;
switch (example)
{
case EnumPlayerStances.One_Handed_Sword:
// do stuff
break;
}
Console.WriteLine($"Name: {enumName}, Value: {value}");
Console.ReadKey();
}
}

public enum EnumPlayerStances
{
One_Handed_Sword = 50
}
}

请注意,它被声明为“枚举”而不是“类”。

另请注意,如果您将枚举声明为:
public enum EnumPlayerStances
{
No_Sword, // 0
One_Handed_Sword, // 1
Two_Handed_Sword // 2
}

第一个名称的值从 0 开始,并为每个后续名称自动递增 1。

关于C# 无法访问 Enum 类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43857168/

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