Visual Studioは、「'PhoenixEngineTypes.BehaviorTypes'は'タイプ'ですが、'変数'のように使用されます」と報告します。
public void AddBehavior(BehaviorTypes type)
{
if (Enum.IsDefined(BehaviorTypes, type))
{
switch (type)
{
case BehaviorTypes.render:
break;
}
}
BehaviorTypesの定義は次のとおりです。
[Flags]
enum BehaviorTypes : uint
{
default_behavior = 1 >> 0,
select = 1 >> 1,
render = 1 >> 2,
animate = 1 >> 3,
navigate = 1 >> 4,
rotate = 1 >> 5,
group = 1 >> 6,
scale = 1 >> 7,
collide = 1 >> 8,
kill = 1 >> 9,
attack = 1 >> 10,
audio = 1 >> 11,
all = UInt32.MaxValue
}
そして最後に:
public static bool IsDefined(Type enumType, object value);
なぜ私はこれを行うことができないのですか?使っtypeof(type)
てみてコンパイルしましたが、型が可変でないのになぜ関数呼び出しを無駄にするのでしょうか?トークンを直接使用することはできませんか?